From 32a8d247e27f8eb84d89dadfbdbf1afbfce651e8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 21 Nov 2021 22:12:58 +1100 Subject: [PATCH 01/16] Fix for BomItem import in admin page --- InvenTree/part/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 90543d429d..63f48a4e07 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -205,7 +205,7 @@ class BomItemResource(ModelResource): # If we are not generating an "import" template, # just return the complete list of fields - if not self.is_importing: + if not getattr(self, 'is_importing', False): return fields # Otherwise, remove some fields we are not interested in From 883b60ebeb047aba4629d055b40de961b73ff6cf Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 21 Nov 2021 22:15:49 +1100 Subject: [PATCH 02/16] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f64f81050..ba3d35e402 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Coverage Status](https://coveralls.io/repos/github/inventree/InvenTree/badge.svg)](https://coveralls.io/github/inventree/InvenTree) +[![Crowdin](https://badges.crowdin.net/inventree/localized.svg)](https://crowdin.com/project/inventree) ![PEP](https://github.com/inventree/inventree/actions/workflows/style.yaml/badge.svg) ![SQLite](https://github.com/inventree/inventree/actions/workflows/coverage.yaml/badge.svg) ![MySQL](https://github.com/inventree/inventree/actions/workflows/mysql.yaml/badge.svg) From 933c4208449373d013fc12933d33f6d0d1aa258f Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 22 Nov 2021 20:24:22 +0100 Subject: [PATCH 04/16] fix sidebar translation Fixes #2347 --- InvenTree/build/templates/build/sidebar.html | 14 ++++---- .../company/manufacturer_part_sidebar.html | 4 +-- .../company/templates/company/sidebar.html | 14 ++++---- .../company/supplier_part_sidebar.html | 6 ++-- .../order/order_wizard/po_upload.html | 2 +- .../order/templates/order/po_sidebar.html | 8 ++--- .../order/templates/order/so_sidebar.html | 8 ++--- .../part/templates/part/category_sidebar.html | 6 ++-- .../part/templates/part/part_sidebar.html | 30 ++++++++-------- .../templates/stock/location_sidebar.html | 4 +-- .../stock/templates/stock/stock_sidebar.html | 12 +++---- .../templates/InvenTree/settings/sidebar.html | 34 +++++++++---------- 12 files changed, 71 insertions(+), 71 deletions(-) diff --git a/InvenTree/build/templates/build/sidebar.html b/InvenTree/build/templates/build/sidebar.html index c542708cd4..5db7635700 100644 --- a/InvenTree/build/templates/build/sidebar.html +++ b/InvenTree/build/templates/build/sidebar.html @@ -2,14 +2,14 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='details' text="Build Order Details" icon="fa-info-circle" %} +{% include "sidebar_item.html" with label='details' text='{% trans "Build Order Details" %}' icon="fa-info-circle" %} {% if build.active %} -{% include "sidebar_item.html" with label='allocate' text="Allocate Stock" icon="fa-tasks" %} +{% include "sidebar_item.html" with label='allocate' text='{% trans "Allocate Stock" %}' icon="fa-tasks" %} {% endif %} {% if not build.is_complete %} -{% include "sidebar_item.html" with label='outputs' text="Pending Items" icon="fa-tools" %} +{% include "sidebar_item.html" with label='outputs' text='{% trans "Pending Items" %}' icon="fa-tools" %} {% endif %} -{% include "sidebar_item.html" with label='completed' text="Completed Items" icon="fa-boxes" %} -{% include "sidebar_item.html" with label='children' text="Child Build Orders" icon="fa-sitemap" %} -{% include "sidebar_item.html" with label='attachments' text="Attachments" icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='notes' text="Notes" icon="fa-clipboard" %} +{% include "sidebar_item.html" with label='completed' text='{% trans "Completed Items" %}' icon="fa-boxes" %} +{% include "sidebar_item.html" with label='children' text='{% trans "Child Build Orders" %}' icon="fa-sitemap" %} +{% include "sidebar_item.html" with label='attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} +{% include "sidebar_item.html" with label='notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} diff --git a/InvenTree/company/templates/company/manufacturer_part_sidebar.html b/InvenTree/company/templates/company/manufacturer_part_sidebar.html index c75bacf210..56eb06755c 100644 --- a/InvenTree/company/templates/company/manufacturer_part_sidebar.html +++ b/InvenTree/company/templates/company/manufacturer_part_sidebar.html @@ -2,5 +2,5 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='parameters' text="Parameters" icon="fa-th-list" %} -{% include "sidebar_item.html" with label='supplier-parts' text="Supplier Parts" icon="fa-building" %} \ No newline at end of file +{% include "sidebar_item.html" with label='parameters' text='{% trans "Parameters" %}' icon="fa-th-list" %} +{% include "sidebar_item.html" with label='supplier-parts' text='{% trans "Supplier Parts" %}' icon="fa-building" %} \ No newline at end of file diff --git a/InvenTree/company/templates/company/sidebar.html b/InvenTree/company/templates/company/sidebar.html index 5481aa013a..1e9e50868d 100644 --- a/InvenTree/company/templates/company/sidebar.html +++ b/InvenTree/company/templates/company/sidebar.html @@ -3,17 +3,17 @@ {% load inventree_extras %} {% if company.is_manufacturer %} -{% include "sidebar_item.html" with label='manufacturer-parts' text="Manufactured Parts" icon="fa-industry" %} +{% include "sidebar_item.html" with label='manufacturer-parts' text='{% trans "Manufactured Parts" %}' icon="fa-industry" %} {% endif %} {% if company.is_supplier %} -{% include "sidebar_item.html" with label='supplier-parts' text="Supplied Parts" icon="fa-building" %} -{% include "sidebar_item.html" with label='purchase-orders' text="Purchase Orders" icon="fa-shopping-cart" %} +{% include "sidebar_item.html" with label='supplier-parts' text='{% trans "Supplied Parts" %}' icon="fa-building" %} +{% include "sidebar_item.html" with label='purchase-orders' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} {% endif %} {% if company.is_manufacturer or company.is_supplier %} -{% include "sidebar_item.html" with label='company-stock' text="Supplied Stock Items" icon="fa-boxes" %} +{% include "sidebar_item.html" with label='company-stock' text='{% trans "Supplied Stock Items" %}' icon="fa-boxes" %} {% endif %} {% if company.is_customer %} -{% include "sidebar_item.html" with label='sales-orders' text="Sales Orders" icon="fa-truck" %} -{% include "sidebar_item.html" with label='assigned-stock' text="Assigned Stock Items" icon="fa-sign-out-alt" %} +{% include "sidebar_item.html" with label='sales-orders' text='{% trans "Sales Orders" %}' icon="fa-truck" %} +{% include "sidebar_item.html" with label='assigned-stock' text='{% trans "Assigned Stock Items" %}' icon="fa-sign-out-alt" %} {% endif %} -{% include "sidebar_item.html" with label='company-notes' text="Notes" icon="fa-clipboard" %} +{% include "sidebar_item.html" with label='company-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} diff --git a/InvenTree/company/templates/company/supplier_part_sidebar.html b/InvenTree/company/templates/company/supplier_part_sidebar.html index 53c4488816..55ebb809f4 100644 --- a/InvenTree/company/templates/company/supplier_part_sidebar.html +++ b/InvenTree/company/templates/company/supplier_part_sidebar.html @@ -2,6 +2,6 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='stock' text="Stock Items" icon="fa-boxes" %} -{% include "sidebar_item.html" with label='purchase-orders' text="Purchase Orders" icon="fa-shopping-cart" %} -{% include "sidebar_item.html" with label='pricing' text="Supplier Part Pricing" icon="fa-dollar-sign" %} +{% include "sidebar_item.html" with label='stock' text='{% trans "Stock Items" %}' icon="fa-boxes" %} +{% include "sidebar_item.html" with label='purchase-orders' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} +{% include "sidebar_item.html" with label='pricing' text='{% trans "Supplier Part Pricing" %}' icon="fa-dollar-sign" %} diff --git a/InvenTree/order/templates/order/order_wizard/po_upload.html b/InvenTree/order/templates/order/order_wizard/po_upload.html index 28d0360757..a904ba49d8 100644 --- a/InvenTree/order/templates/order/order_wizard/po_upload.html +++ b/InvenTree/order/templates/order/order_wizard/po_upload.html @@ -5,7 +5,7 @@ {% block sidebar %} {% url "po-detail" order.id as url %} -{% include "sidebar_item.html" with url=url text="Return to Orders" icon="fa-undo" %} +{% include "sidebar_item.html" with url=url text='{% trans "Return to Orders" %}' icon="fa-undo" %} {% endblock %} {% block page_content %} diff --git a/InvenTree/order/templates/order/po_sidebar.html b/InvenTree/order/templates/order/po_sidebar.html index d5b7727e5c..4c14d1eaf6 100644 --- a/InvenTree/order/templates/order/po_sidebar.html +++ b/InvenTree/order/templates/order/po_sidebar.html @@ -2,7 +2,7 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='order-items' text="Line Items" icon="fa-list-ol" %} -{% include "sidebar_item.html" with label='received-items' text="Received Stock" icon="fa-sign-in-alt" %} -{% include "sidebar_item.html" with label='order-attachments' text="Attachments" icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='order-notes' text="Notes" icon="fa-clipboard" %} \ No newline at end of file +{% include "sidebar_item.html" with label='order-items' text='{% trans "Line Items" %}' icon="fa-list-ol" %} +{% include "sidebar_item.html" with label='received-items' text='{% trans "Received Stock" %}' icon="fa-sign-in-alt" %} +{% include "sidebar_item.html" with label='order-attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} +{% include "sidebar_item.html" with label='order-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} \ No newline at end of file diff --git a/InvenTree/order/templates/order/so_sidebar.html b/InvenTree/order/templates/order/so_sidebar.html index be924eb37b..b7369d36ea 100644 --- a/InvenTree/order/templates/order/so_sidebar.html +++ b/InvenTree/order/templates/order/so_sidebar.html @@ -2,7 +2,7 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='order-items' text="Line Items" icon="fa-list-ol" %} -{% include "sidebar_item.html" with label='order-builds' text="Build Orders" icon="fa-tools" %} -{% include "sidebar_item.html" with label='order-attachments' text="Attachments" icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='order-notes' text="Notes" icon="fa-clipboard" %} +{% include "sidebar_item.html" with label='order-items' text='{% trans "Line Items" %}' icon="fa-list-ol" %} +{% include "sidebar_item.html" with label='order-builds' text='{% trans "Build Orders" %}' icon="fa-tools" %} +{% include "sidebar_item.html" with label='order-attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} +{% include "sidebar_item.html" with label='order-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} diff --git a/InvenTree/part/templates/part/category_sidebar.html b/InvenTree/part/templates/part/category_sidebar.html index 37c5acc73c..96ffbd02ae 100644 --- a/InvenTree/part/templates/part/category_sidebar.html +++ b/InvenTree/part/templates/part/category_sidebar.html @@ -4,12 +4,12 @@ {% settings_value 'PART_SHOW_IMPORT' as show_import %} -{% include "sidebar_item.html" with label="subcategories" text="Subcategories" icon="fa-sitemap" %} -{% include "sidebar_item.html" with label="parts" text="Parts" icon="fa-shapes" %} +{% include "sidebar_item.html" with label="subcategories" text='{% trans "Subcategories" %}' icon="fa-sitemap" %} +{% include "sidebar_item.html" with label="parts" text='{% trans "Parts" %}' icon="fa-shapes" %} {% if show_import and user.is_staff and roles.part.add %} {% url "part-import" as url %} {% include "sidebar_link.html" with url=url text="Import Parts" icon="fa-file-upload" %} {% endif %} {% if category %} -{% include "sidebar_item.html" with label="parameters" text="Parameters" icon="fa-tasks" %} +{% include "sidebar_item.html" with label="parameters" text='{% trans "Parameters" %}' icon="fa-tasks" %} {% endif %} \ No newline at end of file diff --git a/InvenTree/part/templates/part/part_sidebar.html b/InvenTree/part/templates/part/part_sidebar.html index 9a918d17d7..86d9c41e8d 100644 --- a/InvenTree/part/templates/part/part_sidebar.html +++ b/InvenTree/part/templates/part/part_sidebar.html @@ -5,34 +5,34 @@ {% settings_value "PART_INTERNAL_PRICE" as show_internal_price %} {% settings_value 'PART_SHOW_RELATED' as show_related %} -{% include "sidebar_item.html" with label="part-details" text="Details" icon="fa-shapes" %} -{% include "sidebar_item.html" with label="part-parameters" text="Parameters" icon="fa-th-list" %} +{% include "sidebar_item.html" with label="part-details" text='{% trans "Details" %}' icon="fa-shapes" %} +{% include "sidebar_item.html" with label="part-parameters" text='{% trans "Parameters" %}' icon="fa-th-list" %} {% if part.is_template %} -{% include "sidebar_item.html" with label="variants" text="Variants" icon="fa-shapes" %} +{% include "sidebar_item.html" with label="variants" text='{% trans "Variants" %}' icon="fa-shapes" %} {% endif %} -{% include "sidebar_item.html" with label="part-stock" text="Stock" icon="fa-boxes" %} +{% include "sidebar_item.html" with label="part-stock" text='{% trans "Stock" %}' icon="fa-boxes" %} {% if part.assembly %} -{% include "sidebar_item.html" with label="bom" text="Bill of Materials" icon="fa-list" %} +{% include "sidebar_item.html" with label="bom" text='{% trans "Bill of Materials" %}' icon="fa-list" %} {% if roles.build.view %} -{% include "sidebar_item.html" with label="build-orders" text="Build Orders" icon="fa-tools" %} +{% include "sidebar_item.html" with label="build-orders" text='{% trans "Build Orders" %}' icon="fa-tools" %} {% endif %} {% endif %} {% if part.component %} -{% include "sidebar_item.html" with label="used-in" text="Used In" icon="fa-layer-group" %} +{% include "sidebar_item.html" with label="used-in" text='{% trans "Used In" %}' icon="fa-layer-group" %} {% endif %} -{% include "sidebar_item.html" with label="pricing" text="Pricing" icon="fa-dollar-sign" %} +{% include "sidebar_item.html" with label="pricing" text='{% trans "Pricing" %}' icon="fa-dollar-sign" %} {% if part.purchaseable and roles.purchase_order.view %} -{% include "sidebar_item.html" with label="suppliers" text="Suppliers" icon="fa-building" %} -{% include "sidebar_item.html" with label="purchase-orders" text="Purchase Orders" icon="fa-shopping-cart" %} +{% include "sidebar_item.html" with label="suppliers" text='{% trans "Suppliers" %}' icon="fa-building" %} +{% include "sidebar_item.html" with label="purchase-orders" text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} {% endif %} {% if part.salable and roles.sales_order.view %} -{% include "sidebar_item.html" with label="sales-orders" text="Sales Orders" icon="fa-truck" %} +{% include "sidebar_item.html" with label="sales-orders" text='{% trans "Sales Orders" %}' icon="fa-truck" %} {% endif %} {% if part.trackable %} -{% include "sidebar_item.html" with label="test-templates" text="Test Templates" icon="fa-vial" %} +{% include "sidebar_item.html" with label="test-templates" text='{% trans "Test Templates" %}' icon="fa-vial" %} {% endif %} {% if show_related %} -{% include "sidebar_item.html" with label="related-parts" text="Related Parts" icon="fa-random" %} +{% include "sidebar_item.html" with label="related-parts" text='{% trans "Related Parts" %}' icon="fa-random" %} {% endif %} -{% include "sidebar_item.html" with label="part-attachments" text="Attachments" icon="fa-paperclip" %} -{% include "sidebar_item.html" with label="part-notes" text="Notes" icon="fa-clipboard" %} +{% include "sidebar_item.html" with label="part-attachments" text='{% trans "Attachments" %}' icon="fa-paperclip" %} +{% include "sidebar_item.html" with label="part-notes" text='{% trans "Notes" %}' icon="fa-clipboard" %} diff --git a/InvenTree/stock/templates/stock/location_sidebar.html b/InvenTree/stock/templates/stock/location_sidebar.html index 79372041fd..bcb0e9210d 100644 --- a/InvenTree/stock/templates/stock/location_sidebar.html +++ b/InvenTree/stock/templates/stock/location_sidebar.html @@ -2,5 +2,5 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='sublocations' text="Sublocations" icon="fa-sitemap" %} -{% include "sidebar_item.html" with label='stock' text="Stock Items" icon="fa-boxes" %} +{% include "sidebar_item.html" with label='sublocations' text='{% trans "Sublocations" %}' icon="fa-sitemap" %} +{% include "sidebar_item.html" with label='stock' text='{% trans "Stock Items" %}' icon="fa-boxes" %} diff --git a/InvenTree/stock/templates/stock/stock_sidebar.html b/InvenTree/stock/templates/stock/stock_sidebar.html index c3c2a7ed91..66184961ed 100644 --- a/InvenTree/stock/templates/stock/stock_sidebar.html +++ b/InvenTree/stock/templates/stock/stock_sidebar.html @@ -2,15 +2,15 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='history' text="Stock Tracking" icon="fa-history" %} +{% include "sidebar_item.html" with label='history' text='{% trans "Stock Tracking" %}' icon="fa-history" %} {% if item.part.trackable %} -{% include "sidebar_item.html" with label='test-data' text="Test Data" icon="fa-vial" %} +{% include "sidebar_item.html" with label='test-data' text='{% trans "Test Data" %}' icon="fa-vial" %} {% endif %} {% if item.part.assembly %} -{% include "sidebar_item.html" with label='installed-items' text="Installed Items" icon="fa-sign-in-alt" %} +{% include "sidebar_item.html" with label='installed-items' text='{% trans "Installed Items" %}' icon="fa-sign-in-alt" %} {% endif %} {% if item.child_count > 0 %} -{% include "sidebar_item.html" with label='children' text="Child Items" icon="fa-sitemap" %} +{% include "sidebar_item.html" with label='children' text='{% trans "Child Items" %}' icon="fa-sitemap" %} {% endif %} -{% include "sidebar_item.html" with label='attachments' text="Attachments" icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='notes' text="Notes" icon="fa-clipboard" %} +{% include "sidebar_item.html" with label='attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} +{% include "sidebar_item.html" with label='notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html index 21716eaaec..00a3acdaaa 100644 --- a/InvenTree/templates/InvenTree/settings/sidebar.html +++ b/InvenTree/templates/InvenTree/settings/sidebar.html @@ -4,27 +4,27 @@ {% include "sidebar_header.html" with text="User Settings" icon='fa-user' %} -{% include "sidebar_item.html" with label='account' text="Account Settings" icon="fa-cog" %} -{% include "sidebar_item.html" with label='user-display' text="Display Settings" icon="fa-desktop" %} -{% include "sidebar_item.html" with label='user-home' text="Home Page" icon="fa-home" %} -{% include "sidebar_item.html" with label='user-search' text="Search Settings" icon="fa-search" %} -{% include "sidebar_item.html" with label='user-labels' text="Label Printing" icon="fa-tag" %} -{% include "sidebar_item.html" with label='user-reports' text="Reporting" icon="fa-file-pdf" %} +{% include "sidebar_item.html" with label='account' text='{% trans "Account Settings" %}' icon="fa-cog" %} +{% include "sidebar_item.html" with label='user-display' text='{% trans "Display Settings" %}' icon="fa-desktop" %} +{% include "sidebar_item.html" with label='user-home' text='{% trans "Home Page" %}' icon="fa-home" %} +{% include "sidebar_item.html" with label='user-search' text='{% trans "Search Settings" %}' icon="fa-search" %} +{% include "sidebar_item.html" with label='user-labels' text='{% trans "Label Printing" %}' icon="fa-tag" %} +{% include "sidebar_item.html" with label='user-reports' text='{% trans "Reporting" %}' icon="fa-file-pdf" %} {% if user.is_staff %} {% include "sidebar_header.html" with text="Global Settings" icon='fa-cogs' %} -{% include "sidebar_item.html" with label='server' text="Server Configuration" icon="fa-server" %} -{% include "sidebar_item.html" with label='login' text="Login Settings" icon="fa-fingerprint" %} -{% include "sidebar_item.html" with label='barcodes' text="Barcode Support" icon="fa-qrcode" %} -{% include "sidebar_item.html" with label='currencies' text="Currencies" icon="fa-dollar-sign" %} -{% include "sidebar_item.html" with label='reporting' text="Reporting" icon="fa-file-pdf" %} -{% include "sidebar_item.html" with label='parts' text="Parts" icon="fa-shapes" %} -{% include "sidebar_item.html" with label='category' text="Categories" icon="fa-sitemap" %} -{% include "sidebar_item.html" with label='stock' text="Stock" icon="fa-boxes" %} -{% include "sidebar_item.html" with label='build-order' text="Build Orders" icon="fa-tools" %} -{% include "sidebar_item.html" with label='purchase-order' text="Purchase Orders" icon="fa-shopping-cart" %} -{% include "sidebar_item.html" with label='sales-order' text="Sales Orders" icon="fa-truck" %} +{% include "sidebar_item.html" with label='server' text='{% trans "Server Configuration" %}' icon="fa-server" %} +{% include "sidebar_item.html" with label='login' text='{% trans "Login Settings" %}' icon="fa-fingerprint" %} +{% include "sidebar_item.html" with label='barcodes' text='{% trans "Barcode Support" %}' icon="fa-qrcode" %} +{% include "sidebar_item.html" with label='currencies' text='{% trans "Currencies" %}' icon="fa-dollar-sign" %} +{% include "sidebar_item.html" with label='reporting' text='{% trans "Reporting" %}' icon="fa-file-pdf" %} +{% include "sidebar_item.html" with label='parts' text='{% trans "Parts" %}' icon="fa-shapes" %} +{% include "sidebar_item.html" with label='category' text='{% trans "Categories" %}' icon="fa-sitemap" %} +{% include "sidebar_item.html" with label='stock' text='{% trans "Stock" %}' icon="fa-boxes" %} +{% include "sidebar_item.html" with label='build-order' text='{% trans "Build Orders" %}' icon="fa-tools" %} +{% include "sidebar_item.html" with label='purchase-order' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} +{% include "sidebar_item.html" with label='sales-order' text='{% trans "Sales Orders" %}' icon="fa-truck" %} {% endif %} \ No newline at end of file From 72da18719f4f53e26bde1f4c9d3872e47bb58fd8 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 22 Nov 2021 20:24:38 +0100 Subject: [PATCH 05/16] fix sidebar header --- InvenTree/templates/InvenTree/settings/sidebar.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html index 00a3acdaaa..1a2a38f7fb 100644 --- a/InvenTree/templates/InvenTree/settings/sidebar.html +++ b/InvenTree/templates/InvenTree/settings/sidebar.html @@ -2,7 +2,7 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_header.html" with text="User Settings" icon='fa-user' %} +{% include "sidebar_header.html" with text='{% trans "User Settings" %} icon='fa-user' %} {% include "sidebar_item.html" with label='account' text='{% trans "Account Settings" %}' icon="fa-cog" %} {% include "sidebar_item.html" with label='user-display' text='{% trans "Display Settings" %}' icon="fa-desktop" %} @@ -13,7 +13,7 @@ {% if user.is_staff %} -{% include "sidebar_header.html" with text="Global Settings" icon='fa-cogs' %} +{% include "sidebar_header.html" with text='{% trans "Global Settings" %} icon='fa-cogs' %} {% include "sidebar_item.html" with label='server' text='{% trans "Server Configuration" %}' icon="fa-server" %} {% include "sidebar_item.html" with label='login' text='{% trans "Login Settings" %}' icon="fa-fingerprint" %} From c20afad84d01b5ebacc64e58edd7a2e3e6e02109 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 22 Nov 2021 20:40:01 +0100 Subject: [PATCH 06/16] replace sidebar_links --- InvenTree/part/templates/part/bom_upload/upload_file.html | 2 +- InvenTree/part/templates/part/category_sidebar.html | 2 +- InvenTree/part/templates/part/import_wizard/part_upload.html | 2 +- InvenTree/templates/sidebar_link.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/InvenTree/part/templates/part/bom_upload/upload_file.html b/InvenTree/part/templates/part/bom_upload/upload_file.html index ab3b245010..99340f6735 100644 --- a/InvenTree/part/templates/part/bom_upload/upload_file.html +++ b/InvenTree/part/templates/part/bom_upload/upload_file.html @@ -5,7 +5,7 @@ {% block sidebar %} {% url "part-detail" part.id as url %} -{% include "sidebar_link.html" with url=url text="Return to BOM" icon="fa-undo" %} +{% include "sidebar_link.html" with url=url text='{% trans "Return to BOM" %}' icon="fa-undo" %} {% endblock %} {% block heading %} diff --git a/InvenTree/part/templates/part/category_sidebar.html b/InvenTree/part/templates/part/category_sidebar.html index 96ffbd02ae..cfb9c848fb 100644 --- a/InvenTree/part/templates/part/category_sidebar.html +++ b/InvenTree/part/templates/part/category_sidebar.html @@ -8,7 +8,7 @@ {% include "sidebar_item.html" with label="parts" text='{% trans "Parts" %}' icon="fa-shapes" %} {% if show_import and user.is_staff and roles.part.add %} {% url "part-import" as url %} -{% include "sidebar_link.html" with url=url text="Import Parts" icon="fa-file-upload" %} +{% include "sidebar_link.html" with url=url text='{% trans "Import Parts" %}' icon="fa-file-upload" %} {% endif %} {% if category %} {% include "sidebar_item.html" with label="parameters" text='{% trans "Parameters" %}' icon="fa-tasks" %} diff --git a/InvenTree/part/templates/part/import_wizard/part_upload.html b/InvenTree/part/templates/part/import_wizard/part_upload.html index 1f69a3b7be..2dab5274dc 100644 --- a/InvenTree/part/templates/part/import_wizard/part_upload.html +++ b/InvenTree/part/templates/part/import_wizard/part_upload.html @@ -5,7 +5,7 @@ {% block sidebar %} {% url 'part-index' as url %} -{% include "sidebar_link.html" with url=url text="Return to Parts" icon="fa-undo" %} +{% include "sidebar_link.html" with url=url text='{% trans "Return to Parts" %}' icon="fa-undo" %} {% endblock %} {% block content %} diff --git a/InvenTree/templates/sidebar_link.html b/InvenTree/templates/sidebar_link.html index 6379c129c2..9323cf4af4 100644 --- a/InvenTree/templates/sidebar_link.html +++ b/InvenTree/templates/sidebar_link.html @@ -1,4 +1,4 @@ {% load i18n %} - + From 9556cd594bc00faf15f3845f3c2f9a4453e9f57d Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 22 Nov 2021 20:41:31 +0100 Subject: [PATCH 07/16] fix sidebar_header template -> remove trans --- InvenTree/templates/sidebar_header.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/templates/sidebar_header.html b/InvenTree/templates/sidebar_header.html index b07df67c5d..816621c0f3 100644 --- a/InvenTree/templates/sidebar_header.html +++ b/InvenTree/templates/sidebar_header.html @@ -1,8 +1,8 @@ {% load i18n %} - +
{% if icon %}{% endif %} - {% if text %}{% endif %} + {% if text %}{% endif %}
-
+
\ No newline at end of file From 2acee580c951828bfc0dcd0feb894d9fd653e909 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 22 Nov 2021 20:42:10 +0100 Subject: [PATCH 08/16] fix template for sidebar_item --- InvenTree/templates/sidebar_item.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/templates/sidebar_item.html b/InvenTree/templates/sidebar_item.html index 00e56b2634..85211a0c3a 100644 --- a/InvenTree/templates/sidebar_item.html +++ b/InvenTree/templates/sidebar_item.html @@ -1,8 +1,8 @@ {% load i18n %} - + - + {% if badge %} From d79e9a62b474666735d49812aaad8a259c633baa Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 22 Nov 2021 23:42:29 +0100 Subject: [PATCH 09/16] fix trans tags --- InvenTree/build/templates/build/sidebar.html | 21 +- .../company/manufacturer_part_sidebar.html | 6 +- .../company/templates/company/sidebar.html | 21 +- .../company/supplier_part_sidebar.html | 9 +- InvenTree/locale/de/LC_MESSAGES/django.mo | Bin 125311 -> 128484 bytes InvenTree/locale/de/LC_MESSAGES/django.po | 6160 +++++++++------- InvenTree/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 523 bytes InvenTree/locale/el/LC_MESSAGES/django.po | 5657 ++++++++------- InvenTree/locale/en/LC_MESSAGES/django.po | 6414 +++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.mo | Bin 327 -> 12870 bytes InvenTree/locale/es/LC_MESSAGES/django.po | 5811 +++++++-------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 346 +- InvenTree/locale/fr/LC_MESSAGES/django.mo | Bin 325 -> 7801 bytes InvenTree/locale/fr/LC_MESSAGES/django.po | 5728 +++++++-------- InvenTree/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 574 bytes InvenTree/locale/he/LC_MESSAGES/django.po | 5657 ++++++++------- InvenTree/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 521 bytes InvenTree/locale/id/LC_MESSAGES/django.po | 5657 ++++++++------- InvenTree/locale/it/LC_MESSAGES/django.mo | Bin 327 -> 6061 bytes InvenTree/locale/it/LC_MESSAGES/django.po | 5713 +++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.mo | Bin 321 -> 5973 bytes InvenTree/locale/ja/LC_MESSAGES/django.po | 5726 +++++++-------- InvenTree/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 517 bytes InvenTree/locale/ko/LC_MESSAGES/django.po | 5657 ++++++++------- InvenTree/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 19401 bytes InvenTree/locale/nl/LC_MESSAGES/django.po | 5883 +++++++-------- InvenTree/locale/no/LC_MESSAGES/django.mo | Bin 0 -> 3436 bytes InvenTree/locale/no/LC_MESSAGES/django.po | 5689 +++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.mo | Bin 472 -> 27867 bytes InvenTree/locale/pl/LC_MESSAGES/django.po | 5964 +++++++-------- InvenTree/locale/pt/LC_MESSAGES/django.po | 1402 ++-- InvenTree/locale/ru/LC_MESSAGES/django.mo | Bin 492 -> 12057 bytes InvenTree/locale/ru/LC_MESSAGES/django.po | 5755 +++++++-------- InvenTree/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 4084 bytes InvenTree/locale/sv/LC_MESSAGES/django.po | 5693 +++++++-------- InvenTree/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 515 bytes InvenTree/locale/th/LC_MESSAGES/django.po | 5657 ++++++++------- InvenTree/locale/tr/LC_MESSAGES/django.mo | Bin 379 -> 48473 bytes InvenTree/locale/tr/LC_MESSAGES/django.po | 5892 ++++++++------- InvenTree/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 521 bytes InvenTree/locale/vi/LC_MESSAGES/django.po | 5657 ++++++++------- InvenTree/locale/zh/LC_MESSAGES/django.mo | Bin 331 -> 44746 bytes InvenTree/locale/zh/LC_MESSAGES/django.po | 5923 ++++++++------- .../order/order_wizard/po_upload.html | 3 +- .../order/templates/order/po_sidebar.html | 12 +- .../order/templates/order/so_sidebar.html | 12 +- .../part/bom_upload/upload_file.html | 3 +- .../part/templates/part/category_sidebar.html | 12 +- .../part/import_wizard/part_upload.html | 3 +- .../part/templates/part/part_sidebar.html | 45 +- .../templates/stock/location_sidebar.html | 6 +- .../stock/templates/stock/stock_sidebar.html | 18 +- .../templates/InvenTree/settings/sidebar.html | 57 +- 53 files changed, 57287 insertions(+), 54982 deletions(-) create mode 100644 InvenTree/locale/el/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/he/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/id/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/ko/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/nl/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/no/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/sv/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/th/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/vi/LC_MESSAGES/django.mo diff --git a/InvenTree/build/templates/build/sidebar.html b/InvenTree/build/templates/build/sidebar.html index 5db7635700..d0652cd3c1 100644 --- a/InvenTree/build/templates/build/sidebar.html +++ b/InvenTree/build/templates/build/sidebar.html @@ -2,14 +2,21 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='details' text='{% trans "Build Order Details" %}' icon="fa-info-circle" %} +{% trans "Build Order Details" as text %} +{% include "sidebar_item.html" with label='details' text=text icon="fa-info-circle" %} {% if build.active %} -{% include "sidebar_item.html" with label='allocate' text='{% trans "Allocate Stock" %}' icon="fa-tasks" %} +{% trans "Allocate Stock" as text %} +{% include "sidebar_item.html" with label='allocate' text=text icon="fa-tasks" %} {% endif %} {% if not build.is_complete %} -{% include "sidebar_item.html" with label='outputs' text='{% trans "Pending Items" %}' icon="fa-tools" %} +{% trans "Pending Items" as text %} +{% include "sidebar_item.html" with label='outputs' text=text icon="fa-tools" %} {% endif %} -{% include "sidebar_item.html" with label='completed' text='{% trans "Completed Items" %}' icon="fa-boxes" %} -{% include "sidebar_item.html" with label='children' text='{% trans "Child Build Orders" %}' icon="fa-sitemap" %} -{% include "sidebar_item.html" with label='attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} +{% trans "Completed Items" as text %} +{% include "sidebar_item.html" with label='completed' text=text icon="fa-boxes" %} +{% trans "Child Build Orders" as text %} +{% include "sidebar_item.html" with label='children' text=text icon="fa-sitemap" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='attachments' text=text icon="fa-paperclip" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label='notes' text=text icon="fa-clipboard" %} diff --git a/InvenTree/company/templates/company/manufacturer_part_sidebar.html b/InvenTree/company/templates/company/manufacturer_part_sidebar.html index 56eb06755c..bd613f76aa 100644 --- a/InvenTree/company/templates/company/manufacturer_part_sidebar.html +++ b/InvenTree/company/templates/company/manufacturer_part_sidebar.html @@ -2,5 +2,7 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='parameters' text='{% trans "Parameters" %}' icon="fa-th-list" %} -{% include "sidebar_item.html" with label='supplier-parts' text='{% trans "Supplier Parts" %}' icon="fa-building" %} \ No newline at end of file +{% trans "Parameters" as text %} +{% include "sidebar_item.html" with label='parameters' text=text icon="fa-th-list" %} +{% trans "Supplier Parts" as text %} +{% include "sidebar_item.html" with label='supplier-parts' text=text icon="fa-building" %} \ No newline at end of file diff --git a/InvenTree/company/templates/company/sidebar.html b/InvenTree/company/templates/company/sidebar.html index 1e9e50868d..0063853732 100644 --- a/InvenTree/company/templates/company/sidebar.html +++ b/InvenTree/company/templates/company/sidebar.html @@ -3,17 +3,24 @@ {% load inventree_extras %} {% if company.is_manufacturer %} -{% include "sidebar_item.html" with label='manufacturer-parts' text='{% trans "Manufactured Parts" %}' icon="fa-industry" %} +{% trans "Manufactured Parts" as text %} +{% include "sidebar_item.html" with label='manufacturer-parts' text=text icon="fa-industry" %} {% endif %} {% if company.is_supplier %} -{% include "sidebar_item.html" with label='supplier-parts' text='{% trans "Supplied Parts" %}' icon="fa-building" %} -{% include "sidebar_item.html" with label='purchase-orders' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} +{% trans "Supplied Parts" as text %} +{% include "sidebar_item.html" with label='supplier-parts' text=text icon="fa-building" %} +{% trans "Purchase Orders" as text %} +{% include "sidebar_item.html" with label='purchase-orders' text=text icon="fa-shopping-cart" %} {% endif %} {% if company.is_manufacturer or company.is_supplier %} -{% include "sidebar_item.html" with label='company-stock' text='{% trans "Supplied Stock Items" %}' icon="fa-boxes" %} +{% trans "Supplied Stock Items" as text %} +{% include "sidebar_item.html" with label='company-stock' text=text icon="fa-boxes" %} {% endif %} {% if company.is_customer %} -{% include "sidebar_item.html" with label='sales-orders' text='{% trans "Sales Orders" %}' icon="fa-truck" %} -{% include "sidebar_item.html" with label='assigned-stock' text='{% trans "Assigned Stock Items" %}' icon="fa-sign-out-alt" %} +{% trans "Sales Orders" as text %} +{% include "sidebar_item.html" with label='sales-orders' text=text icon="fa-truck" %} +{% trans "Assigned Stock Items" as text %} +{% include "sidebar_item.html" with label='assigned-stock' text=text icon="fa-sign-out-alt" %} {% endif %} -{% include "sidebar_item.html" with label='company-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label='company-notes' text=text icon="fa-clipboard" %} diff --git a/InvenTree/company/templates/company/supplier_part_sidebar.html b/InvenTree/company/templates/company/supplier_part_sidebar.html index 55ebb809f4..91c0682e00 100644 --- a/InvenTree/company/templates/company/supplier_part_sidebar.html +++ b/InvenTree/company/templates/company/supplier_part_sidebar.html @@ -2,6 +2,9 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='stock' text='{% trans "Stock Items" %}' icon="fa-boxes" %} -{% include "sidebar_item.html" with label='purchase-orders' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} -{% include "sidebar_item.html" with label='pricing' text='{% trans "Supplier Part Pricing" %}' icon="fa-dollar-sign" %} +{% trans "Stock Items" as text %} +{% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %} +{% trans "Purchase Orders" as text %} +{% include "sidebar_item.html" with label='purchase-orders' text=text icon="fa-shopping-cart" %} +{% trans "Supplier Part Pricing" as text %} +{% include "sidebar_item.html" with label='pricing' text=text icon="fa-dollar-sign" %} diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo index e90eab101b28a03f6724b788ea17be06861a736b..de1e091409ab2925efb4428ac36e751323d60d1a 100644 GIT binary patch literal 128484 zcmb@O2b5LC(zb`3GYAq7Ip>^(AxO@kB4L<0z`!Kt%n%g>lq@-^x<#?ag3L7zs1L?l3p(ZS~Qx2yzn41!qFpTLufkXRQ8JDElX19(W1Lzi*)Q ze}&m#j`_}BA*gX{K=o^C>;g5;ASgTWP~$&r?Mtox87MzrwE8z;CFBoaO_+Xx8?O$O zoo28Y>`pJWRjH^{)gKpL?MCcQg((Cc|3PPlMIrUaP+b^C90hImcpWzZ5J@ zeGOO}c85*j6j%km3KfqppyHN^ENlmBK#h}Xd>Yn6ejhf0IhVS5w}+ZXz&HhFM_vF) z--s1Z@!bgTg3rSI@R0F6sQ%aCUGNrE9CI&=h^PoFK-udGE5rL?H8>S2uXaGK*DFx^ zC!yl^6V!VD1vURX%bh>9jZL8XN5TTI8`SvGQ2vaEvO5zhKcBSvO;G;702S|Juq3=- z@~@=~aN zd!WYI2NlO-CSQaa?<=S{|7eU@;np`NEJS@dD1Vy3Vz3`92m`P+oB^A|w_stIZKa!E zX{dZ?3KdU3ECQ2Fo(;8*%T3+{<>zjw_#A>=;73sFP-T_d7tNvaU>qzC=fk3K8BBkQ1hw}6~8V}`!otxg^Qr# zcmV3$ISRF&C!q4_9F)JGLDl~OE5R&lBO>a;T2Ofu17&Xp)Oo)f%AbA4qsI53;&BDa z-cPU({0r(_=(Eo4{}r$X^7~MFnb$i%^FqbxZm9XyfQow)sQkGXYWxSF{ExEsQBd=r z1U279Ca-{{kaxf`@D$W~`~bDSxi>id5>S3ufEuSU)V}LvaxbX-@I(1E5h{OYLFvsm zF1PkI#;s8Ed(qktLG6>{Q1f~ZY960L`Tqk{T(WF*@ofMrBS%8D$3x9;GL-+bpyKs} z$xZJ@^Q4mJK@sBr^O`92-W&K9Wt2TXno>b$uO6^Fl|`WM>f_Gcwn1vwfj zPv=6}Spmz#olx!XL-kMpoI4kbK&@vTsPnHQlz+pZ;xfkC=R=*N&p^%p5Y+mAVf7K) zoqka$zv@ESYX_^tXsC5u0JFmH0L^?}Nl5m57(3>Du6PFqj_^QZzfk4UI~1EBIQ5vt!Dt6vEfhwV`F*#|Z5QK)n20xSf7hMG^#7o5Fvupn{+ zsP;}!{i2}qI>qYOLFLtpQ1O2aYP?hMF8C4DI6qi@?!C@#QK<21!mhAA)IMDbl}E2Z zt?P9tJ2_r-cFI8IcXO!xZVwf&ZZHx?!!~del%F@C{4e^Fn^!I9LvC%1hSiWCh4OzV ztOO52jsFGId~&|bI~*(mYry7Eb+ySyp@<)lhc!z#{MsD8Da3_4^vi|KF@W{{iQB zX()SDq2}ET%3cR3dxN0HPlVE&0+knwpyu-ml)tB-*5L}&xYwcPe+!m?1rNHstpiIU zcY!+p;-C-Cg$?0$sQS;L@;cjVj`^VS;BMFe4u*=)GN?S*3FYSzsP*{(mV#HUKI0*m zzlEXB<+4zIc7oD-0LsttQ2TB=hh3hvfZ7iuq2fBmI2UT(8;ysc?0yX8 z-ycx^<$ax;fyH29I1?&=*FwejZK&t=Em#(oc*DiJ6)cL}2Wp*@U>P_QYX5D8n%8IW zUicGK{}xAF9EU*V!w4w<$HLC=QCJ7Q3p2xvZ#w%qp!CW?M1dd9e&;gqw}eLB(sA$;YAWzhk@rHO}WSEBp~^ygy)NnER-ke1NcFU)bAGYs}NJ`0tf>ECjBQ3hs0?gZ7p2h@J( z4|BkUQ1M*_z4HLd|2JS(c*f+9O#Tuo|9*hlPdQGw{^gh(V25LRVL&bGA ztN~ZTYVZWC2yeqGu=Gi{-#bIaV=KP z{_~;czZ7b|YoPk?g|c@7mV;NI)+@_9&Q2aEzskUzu#43{0A(-U>c_x5$d5wVTMXsT z7N~d~HeP_akbf|yJLTj&Q2vyFxnUhx47P%K-~cGQ@h~r(3UzKQhB_a2LiIZZwf-Ml z{a;XimweaFrz+ICwSek>AC#Y|P=3xeK5cvz=A-@`)OuWpT93@9o!`}94&)|Kq4l0FPnTGYMv2ioZp3DcEoy6c3ML1i%wAS?P+`vDh@+ob2u7mopwW=7q39g z=QXH#T!M<%&#)fMdDi*c3MwDELB**LRGz28yl^5^eCApGW+;E2hwAqdRGbe$#pP|N z`CW#Z$DgnO%=VtMQv%AbhEV#wq2@Id%1#p0yeC1$Z?p!7a6egQSk&rtD7 z_rCKxJ5=26GFF6&Un6)I>fAd8 zeeg$^9u~Ub;#UM}yfSbDtOynF6HxO#4V4ccL(ThJtN#ru{#ieAdikN^Pzq}OYeCJs z9n^aFhKlz9D0@jz`TGd;;tI7+E1<@C4r+hB3`@fgq5S?GYF>Xq*(-C=&A&dB-L6o6 z41}_i2sQo$DE&vF_SZ6~^?DZi;6bRkeF7EF-=O*zyyVU+A1sdC4$ALnD0|7U4txwY zfG@&Y@LQ;Hd>=c%>cL{jZJ_E0!%{E>YP`k9ZBY4p1S$`|g3?ca*^Pe}ER0+i%3dd^ z_F+(QngG>rC6u4Lq2_-W`rrvDf4_zr*Y}A#M;pV2$oE0z<$S359D&W?AFw=Za>d1W zFszO|3i{w`sC7RG<=;720)AulIX`vhXc;K~`a$U>KJA0uIo`hPLZ=mLx z^{VruI8@%WhRU06Fe8kD-uVdCFUjg>LHRomD!=!`mhdoC95P&Uf6prpHUG{~ahd{4 z!adf07Pdgn_?gScNT~R>gUY*ZCJ%;szQn>za1_)&9%JoOpz>?B)h{!79aJ7a2Q|M} zq2}=x)I6_2`F9Iyyy~C3b#4J=uM5;T_nRC8z5NE2?~fRlK-u2{)o(A%0uMut^A^ku zFG96nh03?@pyHMDy3;QYmG9M|_Qyb222QZ{RZ!zT4Yl6;Og;k@m+MgdzkwNHsW066 zm4g+KYe403AFGcsIRPqP9)_CVeB&Bx-vQPCfYpCy{23}fnZI=N&j&TXlEx}f^KSs< z_q|a0H~`AO0DKybh02doU%5E-G~N&8&tRAXCYk&Y)Ok1u%HESuaohp54#!{?cn;=( zmtZ#dCDc5BgwoG)!`b&i^{ZuU4rRY1%nt8^-Z=%eZ<4Kj8qA5j7%Dz%q4vd5sD1b| zRK6Gd+S#iMm4B_E@~uCVUK~_>X2IrgHPkp4q4MA+EDv*kcIGE7bXS4Ay|@Zo2-ppw_)5EDGD0JP69q7+4X`hFZT}Fdy6pbHkHRdH)eq{~w{& zG0*pIohw1bw;s#|yF$(9L6{Q`fy#$Om>EuhdEpe37eU#763UR*4`b~LLLBh9?pe|`xdKz7b+jp z-*UfCt3aKH{h;*6o4gdt-gZfChvp!kdMK; z-~}juzlWN~Z&35ke%t9)fm)wtQ0vnTYF`e9n#TyJ@fJYM^9iW^eH_Ye)?Zzm@{o+TklR4zO(N8M9)X(oGLu(9#bpmv9A1a=|16Z=C8)Sxv-TgL#>o(o&hsZP)I2Ic z)i;8gXIrc9VfE2a{wG2CF%2p%D^1>M@=>UK|H$~QwWm*)&hzhXs643*wZ1K2UHAYj z2j@cV=UuP{ya4q)$(}x)7td-?_M@Tv8Eu>cHP3ZWc6UIywuA?*JtC8vZ%HUWYQXBSB~+fo zL)o7N^}KryYTR8=^Ed+4?<~|hUbFfeQ0x7x$=Ncy^($a56&z7(a z>}BoCq4M`>sP)_rrFR-?UY}X}4^aMQ&+gibL#Nyh!l@Ie^ZMY4p-^WmS zdlSmv0y*5g%0RWZhZ_HWt4}a_k;%_M#pfjS!AmCpWpdt}&ac`~>)O`jSd$-y%I~#S z|1wm5zYXQ*b*T9i&E@>74z=FRpvLVCl|KWZ@?jj*I9p*ocna2nnR2`O22k&x4?x*{ z1ZsaSf?AKwQ2S&jRGhzrI!AB88Zb{Dr`H0??{-jmJP1mEDU^Tfq3rI0isLaT`xl_% z{V7!cOnK9J->XYPohO~3+5=GQzXWQYTTR{%^}co%>iqib9Dp2!o1(n}D zpyD>j#OD8G9{9~=qg?;NOn+5px6AXHq>Sp9cU>yxvPTi+T``fXr+ zI2g*GrLZkL37f(Kce#GupzMu;jp1CV{dE+|pNmlO{t+rZMG8B=%EOw-&7sDNhppgD zsQi8l>U{bg>U_&w#O=HCurhLEsP&G9ifo|ovBdc z%rGv5@_&WN+n~nT3l-19##7dQ5o(`(4i(?;q4YBrcmCvs%A1N%>p2i=zs`die+iVo zPeSF@r%?G;xkS2%Zg3FP`LrFX|0P%*<|*mkTbjd$$fKa*yBR9~-hx_>Or_FA%zy>q zRJam80!#axybkI-tx(#nLw~6JONDwb+6(2+S5V`YF5~>^W}FB${x+!mz6O0TTUmF` zSAoj22cgzyD%3uC5^9{iFc#j1%ID~EZl6C6CnE2FvR|{j8-Ezo^J58Y4c~-{U-k-a zKlXx(_dGZR9)TTT<%-Ua033k)Bvij&U?te9lG`UEpw?#;)Vhv=%C9LD%A6!CRDuoLFL;7;~c1SZYA{2DX8(!K#hOh441{H_7P;p-jHO>|&`+K3{d<^OwI|HTvE!27U6O?}iYP$Ku>ZMe_szlNG`u{zGL@=$(Phw`rhR9qsV)~gTH{1Twz5`a1<$3Z>+ zA2WH0wXcQBt4&bjyZ~kYpvlKzdgL=ud3X*gZ!SXF{R(QlTUP%&)cmv8b^E0dRR1ba z{#A$4ZwJ-C6V!P9pw?k9RQ{wu=|2Ter{nJ}unqF``YvBiz`Dp^L)j_az~w`AsP*pv zHQ(V-?PHYOOl(4DhYpz@{_RGvI& zax#?vk3;3<)5h1K=6MBHfj>i?*QFad{~JNs>kVZu5z5YE&<9tUd;qH7c_=@>h0;&o z*yT?V*a*2J)Ob^&>@0(NzU+Wi;U%bfXK&)pg~Cw#svgun=nfU1`(S@K5NiEihT7i; zpz`%Lls{FQIzL()?}O#3Pk=tS7)o!CwV!}m?<>}xt(nW8Do}pZhdM`lK%KiIVS6|g zs^43%68zrUi#2!gt_u~H9#H3R3~UPLLj8U}4%IJv3&*-p^LY^VhD)L1_Z7ScmTT$G zML$&g8YnwILG7FR_c*qM%Kr`~_cjiMn)h(1yqsj52bE8&q2{?8%I~*fE%*u4zRTar zy}#ZKYan-k%HOe2`jesZX))CJ2cYa7hl6c{T)AgQKAju7}E_*P)&hC!q4}BGmX_LgnorP<|9> zvUKS?t=2;JS+p#wRL%24$9A-Q0G(%)cQ;@&VkyGOQGVl+v*P( zj~UNEAMF>R#`_cMTqxVly@d!i$f{c54jQS1?NNQU4C-wp~guxj)#i#V^Ddv9BMyqgAc+p zQ1PnO!R2*NsBtzy`EwY`|BF!lZ^F7Tb4QntO`!Z40d?-qfXdrVFcO}J%7@~eoF5&a zo;MGgJQ6BDCqm`jMyP#v2-bnWLFIpq&W`n=*0UMZK57T$S6`_0842|sI|ep}+oAI2 z3#k2HsEh001FBztsJJB=r$NPQ1=Kj(;b8a@>;#K;b@Lhu8z66iivK52`rkmU?=M!L zr<=1^9P0e43AG>EL+yudQ1KXSOoXyC5z4T7zhHN_-sPeEt_8JT zkyhUiN^c01odDE$ORaq)ls`M5#(fcLK8K*<`3_Y4FF-v9u0ZKshsyKsq4GRq4>x{( zSP{8AR33JLTHpJi@@W#3y(ggd`x@g*Q0s8o3X_+%nH@N9F$%QI287Viqk%* z@lHYceE}-3KZojO8Y)irL+yunD7%ZG-sd($dW?Z=U@-0ydDL$ zUYnufz7uL69Ds`FJ5YXHhw|fh*bL_D=jPQFYJVp~^`8s9e20qDcBni(X8Z&yKDS{j zSn59W8@5M&1nL|<3e|oSwuW`@cX1vKwT_QN`MDU%uMH-@1Qn-aR{uGaKfgn*U!Dit z{A)wyaSy2H(GaM8@GzAAlTh}zLGAPXuok=xmG4#hyZJSSb&-2PolDc95AKGF-+RVy zpzLRP(Ah5sl{XEc#_tLhr&y@?OoqyzO;CFKq57Y-`kN+a8Q{*Pa!}9jfl&Kxm@x%v zK9iyHc`=mUYN+*k2Fm^mQ2X&D)cnpEuRyKuO(;Ke4Rmp-1ho#0p!P>gsQ0)|Q2V(% zl)VRFRX7+bK69Yr{*v)HRDNB6+W+4|#Ub4wSARE@pVguIHHF$gouTq15h_m0VNLiP ztPU?h#WCk#XRi*_ygNe8x0ltAfLiA%Q2S>gls`L-Z$RbO2Th~Q~USt~T&abLa>(C8q-Q%I+F&S#SMNsGCN^9Q;buPUG zb)NqQ8^V^uT-?V%&3^_|elCN0-#ZBFz-!iCWVp+xicrsoj!=FkK>0HPDxaT#o#8Rq z0p1ns<~bN@{R2?(dJ1ZP?u3fR30Mzah02G!N4WV_fs$L8+zsma5DnG;IpZ zjsF-_9xQ>H-*%|?`8Q4e9BRD3pz@$lyxX6Zp!&6i+P{NLo&qZ)uQ2%tRKLqm_J4q~ zpCiG|rz+I^Izyeq1EKO|f^in^m!+LNdl)Vq3=JOSlKiN~s<-TUI(bWiG|Xe1GP{0L+#t+umb!B>f9+b#;uPJ%8&Z6 zCu{{3*Tq(U94c<-O#TLH{9mm;-&mJlm7(I-9BRJ(q0Y7O&)pFxfH zHB?^x3Ki!J<6Zv-P;qJjrQZQ6pS#0`&=0-y7Rs-UPftp7gR2);F)^U+>C)9cHjM|cl%{zu&Sy^OI?`929MZ&pLaeIwL4w-w6YgHV2+gPPa3 zQ0tw0vRjX0Q0v$LDn1EN=h(wg`S%3WI&OrD=MJcI>outSzXav)Pf+6&nBw|XgR<8M zD*xI;`PIkjW1-H0u_mvy_N`EPbP#I4o;LmrmA6Hwy60?lsQe!Qr9TVGpA}H~xeLm# zqfqDkXC_BH>ej0yRD2ph_3sQ7&w)_q%|xjAZZ+b7@dXI$i zV-?gnv4#CDvzFnit}#cn^1ZmLh0Rrn#V1uJjpS` z=~sl(YXaqOXQ*?l50t-tsPQL2<->d^JFB4b;CU$j--qgd$@n?cxZlAV@HZ&`s?2o# zn?vPE52$k>70QqCQ2T5S)VZ?@YTj={t3#{LFt!+@~;6@zb?=R2SDjh zgyrE(<94Wh@E(*u>F2n(6obmInkKh^YVQf<|48FZsPQ&IAAA)mUq6P8;SH#9D?IMj zyEar@y1+{CeyDYv0^7r-Pb%K1*Rdj09<+n<<3XsrO||xIQ0sdFY8`)r%9DtB zPRE0BRmjL#@LrQ1iV4<#)~n?!71KtniHEtA?|I=X=xD5K>A*ek16zZJ*3D$@C7rEa-_rlu9v!Lv~ z0_E2^sP(!5y?wpd#kV3Mu-r1YzlTHFpA9wdjZo+E1t>pq zFL!aN2&*Euftr63l)Y(Cd9@#E-shptjayLbQS=G7f9gQ_*&Qk_U_!dq?>OcsP*wdox9CpTNnwYHxu@P3!wU6gYx%JsQFZR%Dv|dfXat8Q0s97 z_J&`=^swa$cOJEd%BxN$4>68}ihl}JK29?EaVY)eQ2S>)RKC4xd>cyt64biifbz4z z%5>iUKU+1Zc#Vh3$AwV+H$d6jZSrBL{dEQ^?pLAK`!6W_rB}KBHDOldR#4|~N2q-> z0LuRnP~)dUt>;{*b6^8(1b0B~lP{pwt>9|czd6*n9gTh{zaN1bZ#h)F*FxDl3pMU# zSPy;;mB(e)IDZ>Lt$SOjdEXBe$B|I;o&q(m1+W%e4K@E$R{sgq^WmAS3>pQZ1uaL^xrg|gEf(_ z!P>CU2AALMq4I4c)VK?w{9OkX=hvX(avo|Oe}Zjbu8mIa3AIm0K;^-sQ0?2G#{V8_ z+;mSne``bS%QjHs%!1lyn_)|M5-MMFZE|@~6ShNc1C=+kVJ7%0)H(7xRNOy@^8Xho zds&}x^Qs0V_cD15RKHbF>-idN0yAxPcJ6`7mmW}h{h{(;BGf#lLd9;Gbv~VjTGtPu^8IrtKYp|NOwYRglOJk-6oWok z3(9^EsCWjT{8(b>hvo?<=s8Tu26A)&=_y^ z6QS~S4%GbC8FxbYf6#awYTUC>arzi)yq}@+r@%IMu2hHeXDF2a0Vut3Q0u!CDy~n% z^6;4PTd24ddd@vRDnr@r02PmDsC_ybN^b^K+*d&Py#Z?9?}C}(2`GQhKs_HXLB+TD zc9(}uVJ+kY<7(It`4sf>Z->*bX6$4f0d)?{gtEH{%Aadc`F|TKZjE=k`9?ymQ!l7_ zBp4?{AM#=-{XJ0Ya{x;J6jYqQf|_^w=bc;->Kv{LYruL?{i9(u7!Mo6C!ykf7OMYM za@9 z!=dIs3F@3#2xWgCRDPU*%EK?9^8GKUc@^H{#w`t{Ukf&Xt&C%#_ThG@^?wU$9k0T2 zu=opZy;?!}KL{$X5}^E@0X2^WP~)zL(%Wb9aVWhjQ2G3o$v2_a=~t+HFSOUqy9`wS z22lI2EmRzOLFMZRD1Vco;xrd(UhAOz+6AS564r-Tq2f^VMOR(IoSs_kH%2(ZVBaYAE-FQSo>(G{qqo%-gKz*XC;)s&qLWiZ0#RG z&F6b4KQh1UmH~)y8<;{j#u1yQx+;79iYyG!Ny5Y^IrvZKJ9>-&lxxbeh!VWe*4r;zjjL*W# z$ge@2n_ofM&v($}M`Nh*BcbLo1S*~>Q29C2xYW4bxC6?+{l=591M)?vbFSiR?)lW# zI1DPUXF?xb2Ibd_ur|B`>%oGD+&XoDI*((Z{22+={}HHp%!OLt-BA9&3+3;3Q1Sf( zYCeSzJGnBH90_HokIB*2o(i?U=0WAhvru|(!3W_7Q2iUc?&5YYlwUoe#vNw$DNuPk z5q5|3pz`4|R9t?9@;m<bDwJhcBCa-Q)~M-TKvr@~0=% zd&o4Xb$kXYjvqqJ<7cRK&Uwu3g9cFJje?rrEGWO%8DD~m!zow?ehalf%N$P^aSv<< zHSg(A<8FaEuTMa&`%S3%=XlGVS9M@R;J=FQS$LjaP2FRzO&hKm| z+&PyYYW+(?^{)%nelL{2J)q*21RKNIuqu25%AcE1^DJ`Gd)^rFw(D03Y9H2znqOO}bGZl9c!P~&pw?wB)H-c}KKKz-zdxYzFxxvW zPl`g#w;|Lzb%4slC@A}rpyD;+h^RK6^R z%FkDz&hgiw_StEu-*q2D*}H1|2Fl(qCTIW9=@*3RUmD8qn#LB^-UX`P1185o#d{pQ z2hN4c?{{D(nEisYmlw80E(!a?7?TgeXynWvxp<6#HISD;onx=Vn(%k%gVip&ebEKV zUbM-Z;T+@xa1rc$$;p@D8szwoUB2bM?DpqCsP~EKuqk{K)`uBBaqo$Zq2v)zeyo9- z*Lf)Y0$1EQ+zslvkOH;upMl!%??Ua1Z(vuL_tSI{kHSGvdRL*=KiAcC-v7^6BiJ7K zB2>PXzvkW#I>Ro=lVL~r4r~sKe&+1n2ge|9g7?8vpF6u_;V|U&un){}-92BTpz>`o z)cUN3%9D*y`TIQ7y1xN+KAkmw32P%qeBtu54%Gf=XYxR({7Qxy;6qUR^bx3YX#>=L z*l#=!^&I;FDu0T6Y3C!<`0b(2*}hQu9uIZi%`t9)I=_xW#pNp0xnA=tH=m|ZOc&4~O!53e-5Op#0heYr$hsdHJi=H~GfxpYBlO4}^+G5>%Y#LC+4hVruv)cUo6TF-t^ah_oH(_u#B zHBjSkgqqJmSQVawvYY;_S1yF64LHG$eUJ)xchiBRY4Sg82TfaC&6=Ux2oqtVWdg|L5JHTGZonaze1NGd=`-5A@F0dl<1XvHQhuWX#q2`<6M>o$r zPj&{%^0I8_gd`KqU|EoGn_|V#QWIjhrEO` z#fVn)TY(QV(W^pP*HG>p$htbwb_-oyKhf_ocnHq1y7Khdhx|Fl7Qu(Olgy6SDeONn zR-TLPF5H!E?hnv+7j2E;Myr$RZ|L0fFSe>u*MvI@W4*|&>os(PS9PoV3477z=Qhf^ zJ~DgvQ?5%}4EGHBE<%3MbPB_{$a?PST7|t|%%-bx|J@HB!d^Fgu4>~vi(Yms^T_b7 zj%HUvB)Zj+XNB2IZ$3F~{$@a72X%d||0Vou%zYuOPjA}4K<^Fer&G^spLb0`-jDs0 z+_BVkchwO^sLxBEtQOy&X@7@%8tq@x|2^|z2ztS58MXUF3-{2z61`7h4aQ!9j;^n1FF}10@{`r!4r`#@`dn{p!M{Ip#%dpBWA z?lFwBn6@GGEy;Zpc>?{5LS4M}>3(J{hJdbB5iDm zW$1SWy^-dpry_mi{nS5ZHdJ4qah6ekjC&*X7tBsO#{7=YC4(FZ^#%oXrBd_An!p(*Avt=vhpa}a#D`7eolk; zN#uOgzkx2Vm=RI**R|f5hq`Qx_aYpNPDSjzP5ZmZx+){T?ILdepsz@D4gn@uwtrY08gqm!xg5`CJX1u4X&Y`hQ8?o78=Y zd=Gk$QGSqq!RsL9cWL|4Dt^GfchG5K{+~B{LH+f}?q8;K0KUfk z9ky~{d#JTra|rL7?TqO0x)!kj`60^v;dWTf<}i`AOw?_m=P~Nurkv5{T#~kzH3oG9 zC_l-qD+BV=*wFO|cXwod8byqUJxyl~<;Bb)3Ypj4h?mfxjjeH%pD_CcU;;Wl;BwlY zv%Uo>XQuyk4ZzhD`AKA5(QpIuK^wmheV#IVYQIVQY3}ma4PGyy^Qh@;qhFG>9l(yR zOJ-YTy=UwC0iDX+wQ2hpK8TGt>gQAb*!1r~{*3Y~@Gb1Fp=}!D>_hjQ`FEW5`lgRs z=$ed94s@HE-W>W)<_=y>DJ(!9kDlJyYnYzeKf&HS>Z?6=BK(Z=2l7VPn7$8F zKgh;hNBLW9-Gb|>dx*Y1%F8G}YB~$)w}f&hIE?mvv~QSw^{dL`McCVsaiMkK4(S*9OF#OVQj#to$hkL{9jYjupvmyNy z%8zibLFZZY8(^m}cSg#4xtmkJnsGLvyNz-M;&2lEYt+@GT#&l_l;dD?ri)=@(Jp8)0Ry6 z6n9A*Ycf7G!p3jN_rsUa&q}|l)Q<=orwV-spi|B2GE;78wT(_w&P5t9G zR!!K0yCwG`>X%p_>DFT0-PkOFA5Xzp`UYs93saEyh3S5c{!Qxid$pW8bCt*DIXD@8 zT{9da1_k@Ug4|!x?`6i=hh9eR6Uf2qQEW6t=95h5dH`Kr&vCD!yp}!_EyhoIE$%-b zWBWncV-f4ozo(7+4Ejr{KZ)H>xYJQz8Mzs38`gih*;Lj0=sisPW^P@TkahhL=GSFx z=xSqa=NKo!Y>c6PIraLkperfNHlM>n*9>%W(YB7h`WCR4@d{#h3iY$C&m`(zqwYcT zMV(6_e~R1(y$R?|N1ko%!>Ric`6{xHwt3w1vHubGINJWA{vb9szO=D=cbH2uobzYDjnehv{uY1fsV_OAFa4bDM6 z4danNqHiUr>pAN5ZDgq@k*CNzxSzx3H|Sh~x6$v0&5tNQLfd21AB4@3b5ZVZeS@fk z?lkUH+QY9`k$b8ieSU#KM=|>4M1Gd~X2fA0<>#q8VeLh+ zHJ*D0cY3okm$tgr-km-TD3_&OR~F<9=p8|R6TZ&fh4%ZfTb;H?u^qgIqLV<|I__NP z1)#3%=>CS@Cgdx~Z*Xr{16OZs=-Q6HuJdp%x?|Cer~DaxH&d=id4<{;;|B6eo;G_4 z-CC6EVkeb*7VTZo%}@PXl+SYC;@0J(?ta=jVskJYjXaq94eZUK?k;q$dYbr3dp`3` zRW)hPjm+n~h|I7(edtj?LE8|6&a>$WL)^p?#p~S7D62=teT`0_q<#e_lW@ z2lpq)_i_I~IS#$MtY1~*BeXq_{hLtkR=`Fgg`?<~k!|GN-1CudnjiPV)9BxCHdI}k zy9jl`>u&lqV!V&IYjYPt&IH?Grw*(Db#)J^lU3KX5H1*#x#=EX6^xr7@b*AkBYA$lWgs%538tU?4V;$}9 zQSM7!d6*SD(e(S8wsy3=O#N0VbA7-)j(e^7@DSxZ=pHqDOVGc99K84^E#CE&=}UN- zx@X|~+()cmjPWz-`f>-a{Pg>kyFE5Xn9eBUHnTYed#~cNuFekLf1}Z>LYvRpUZ=Jm zcRp-oGrxwSv(d`)@tr@tdDmfVAENXWayc7kmCdWO={QaI--Tcx{okSOgy}W2elw|G zK;3oodk^J7lp9j7>pF4~SM>h74jcW###l`GNpzag=Q4LU=JPytDQG`TIVY@!Jd$!2 zxEi^nXNj`;u!*+s)P|i+Hm+0(Qr=42F6wK-Bh+1lThJ}QJ(>2iW=mK=-E4gLp1Tiv z&AGjL^nS6iB(Fek6m8wPM*`9?bIi5Z*bKSZK;19y)pQ;llzj@ zpTX`n>Icxj5PTYWr?pL`F3RjaPoKNE6KU&=-SpHi!REK9+~JYTW%P51_6GZM$G@vtNYz z{P>Xqb?rho8$1qwL08vs+I78&JOI9Ja$)!rb$iT~bY4b&nEJZZWo4YH$Q`itAZ_KS zzd?B@V@-o2sB4B^CgdGva{~H5a!;mh19hd~Tx%Nvd!bv}#yf}oXShE`XB731Q_hOr zWAv|$?#t9ip}QYBmil?fJK$#SRmp(Utf{u6!j-kC8ZMo4c zO~JHe|B z?X77W#a#gXmH1YZatikb${92dly7j~g?z#~X2eE)8(USAxc@>{Jj2-<2=-x7OUs5=8=(EZfxt%up@ zQyJbu?;co@_FC{2*a7`glwYTOKy!8Gz5hOgei`bX;r^cXOx*8N{))R6<%ek>2z8ys z#*?r*_WDxS%IfzcM^j#n?l5j$es=`)?S zew6cZue0_e)U~j&zJ_nA1J`@_vyfX?XLRG~Gt&B0gwv@XOW%8~t~TRGqO*!VC8^i- z1NIstzi)QBy6T9A^m&!?H#Tkt_<{A2%G1a%V(W4A-lA_V0kt^XNxvzmTs#*IR^ z9rEYaE}SvHzNdd#(=8a*uHstS24i<9?S;9&MBYn%F76rFyk`B1Q`Yqw?XOtfD#rbT zzRMWr8OmGGxeqQwFP8Fl>vI^LyQv=zGt*yJDQwi|&Pn}d?yo5yM86DePr!H0_tu^^ z?>^`}VdGw)t^>B#B0rCA0<4X!>rLx7$;KH>TN%oYX`5g=*Uhiiv=yeD1f#v)oQcTq zSh*gy>d+?{xuDs-id@3%RIo8l7^lH{*m@Rj<<2iV^m`Efr)|tVX6JjF+Aya=)Za(l z7HjBpN7{118I-m90^Oq z-SoTH`c6Rp1p8gM+tMcwEKC0`=%zQFKg~uw?LE15r9-b5dIcEocjPJDk5TtKx~HYU z)seOW$j@P?9{m;~2e0Wihi4C>aRUq|db%DoKzXBkJ=i`+MnS8@-b z?uoE|8)^vO%9F&YcPizun+auX|G5*v*|BF?#=xtzLenJLH&I6?m}lHx2|h&kmg$UuyC^ z%lemR{PW!1t!=vX+d`j9)D=gsAspt+Mcfw4R~nic7dI#&D&Ai?;H&Oy=8tbtzEX@o z5M4RYtR{l5Qu#{pQ7O^G2POHFD+kJ#_jyufdd5X13>%b^9F-7=i%Rjwc#UadL@Qrh zY#_y#IMf$NNsJ!pi%s#z2Ym6V)D7|bl9Cfg$Hw?$B3gCt;Opy84#XxVcx8V=Oj2TO zLW(aTF~v7DF*U)dB>P9D`steNPf1Nq@W=T4$;pYyzUaglzpq}cS`n>=B&MeLIwXwt zC-hGC`y*OKNBfgf1Wcs(dihgQViSf1s7PTXU-#t1;ju$-3F}^sYZ|sA#;me&H3q?hNOtQD7~w7?e_ckwkY`V)8gw^S42I`n}+LZB|Y*)=Po+ zn!J*)cXCwpNW$Q2n~-AmdZi{M#l_liLBZE1DkaMGv*t9Ly|oIVc2DZ*52VI9_rqjg zZ-0D}obwEM4R_Qe_{aDn6XTPj65Pxr4~>lrPF*645EhJ(-SbHt=k=n0ZjSg{GZ7CT*KJ`1XJB3J#sN{LAl zqT(v6U74l-`n-vFt2QK<8h2QeTCzVN*W+W^14D^`kLg8gp;Cs&27F1W$jGNC)~T^^F}`k^ z-QUcFTGQ$SZrFss4{NI!9KsWAx`VuHC<&Cz3TJrTsMM&0l-QJUq-cT;H2>IWe`xiCjsMyqcu)=_X_OHu!=n;>Y@EwCwMBVHruB$P9Fq{27!{+_KiMCz-4PofHOwFI zMJ2>&ms1*=oEXn=%uR=9pPrqqZ#-v7EP-@Ku)-f09+m7T0Dhmhhtp;kh(e7a{^m5w z;}TPS0ghU)Fh&u;j?4DoX~C)UzbGpIeHEJpQj*zSJQl+qmCb5eZN--Vs~K+(M}?js z|7C}?{QW<5@b)0t_CMR7G3W*Y{&>!t7<)v7 zL`5&y>YdE4g|Jg_Ej-|rLVDduj`a>tHO3B0&{$~?*-%w<=(+1vF{b5pQ2g624_0HX z7pW2m9x*9A2cq<}J(7S78Fz<>hCi($kQ(m^dVYD&%|M!%>>uh+_LE{>mA5jU&0wF< zEJ7idH?kDbnhYM6tk*?fzr^H`JV?T7#&|V8&z5f}(bCM*I#{#L=j7Cc1aIb1$$GU! z%cC#&k{FcljS378HFogUWvJewg6*OA%}@mo)kHQ#P!LY<8_)-H}4&H(yQB$*@y%9Zp8@v10z zo08LDG*8ahgg}bUE!XHBORe>b2ATi*BHcQxXiFX}rtNI+tn={;BPmsb{Zk>}y+^oA z)GHYer7n7GYqv(UPLA~t4L{}7tjC#q>1ge}dU*f!wehEro^Vn!Z|DA1V zSs!N2-h6n2jJ6k~7++L?RSAkN3>Mvh-WQ^H4-R+#KbT-Ww6ZaJ{cvmZuf0j5;81s1 zr9RDxzqhz!ng>UGRPspq8#KYmkv6$Iq8Z@lr+!%S#>U&cX<5p6U3%Edptbc%iAqTg zDu&JjPcwABh3A#m;vJjbyI~;7A00b%94}r&ycQRMYVtLnhZ~8nRQEAUO@ZA_gZH5K z9u>|#ZR+5}%&SDbg$G|(?^v|zVd47sc)Pxgn8?11NoB`5&peaPztC{OIJ!Q;M(<@e z)Z_&(^drTLS>>H)l56uaG&tzL>J5=YcWU5n@RSLL;%^$kS8*5dSUo(#BA)h5W0*g| zpX?o^u_Ps*H&UbG;>Oi5ZN6V5kF#I60beD?ijS%u@Uuu>m*B^ek^XVb-TQS?R4hNM z+)$w>qc3#Sy00W;Xz0b*TkqiM?s>@eNJ}v%umF0lS+l+mxH5+D*8PH$q2S14l>6Rm zpZC;Mze<71p|_ym%Mw35Nm_l^;oFTiWU^n+JG0^~j9%*a&A>UE_Wr2!3=V5y^&Y>e z<02xX;-XW%?+2lhtaFYBWj)LkKJR-;fa(OFHy5wujp0RvBp!m>ylm@$)43oA}@Q1QPl2%G`o)r~jtI!^_i=Bm64*n-9EG%N4y^hbADw<+HVT z8zrcwUp{Oz?-#Rc*XmeF;rFKRwfo}ze5jxziXTBdbX=u=hlO5!?MME9_>S;@u=+oJ zj=+qLo8W4PeNR#FqMSG0Z_p@TOzcqaO)$m%sQmY?clP203H}C+j0!|Y>8U_K?9*AW zzymhzw??Rvr)a3$Jt}2*niP7XMd~*&spo;0jzEC7Mk4NH+h-w3-#bHfycF|fK-Cp+ zJNPPQb>8FMd!f=3>7VUG632S^m6$LzHaXsV-*tx~8^BCxVWVBUdZYpTwxlim^8 zA96si(vkddk8zn6{Iub!!W@xOf}dBeNPa3MYt@2Bm(_T`V3cXWS8xXKRAUqLk`x)2 zsLqLTsqwsXL~_{i+r?w7_xVt5@$r;dS$TPD^=-UQkiKsGdBOdX40hK9T-{AE+C7l& z?BFUx1M+*>e(wyu;|(dK;64Z4DQY6Tod0bF+zi6JmyRanB^VExunGTtd)hSJ=j`CA zVU_ME{@2M^Qz*P4H(i6i5BqIPIqzJ3V0diO9o0#plgh?S_DB2q)}k5cT~g`e4Cp%@ zFCJclelf-An@-yMXPTm`i;5Y+*O)uTvIh4S5x!{NXLUXUaIkB&?`R4>mb_y`ui5;# z<2P^6tI%W1+Pxo^|I+&RA6>pmbf~P?3-?o$my;&Vh9tLef8f%4f&GCiWGj`=kij3U zX*uA{DNM)vG0BH@{7b-3j|qngZfw4L$M}av@j(^m{0V9M z59jQAt=BW`;b(7CzTWmH7A-rr|EXaO9rRh(>9Ao#uVU)sZD1`MCqq<7B}Mg4@9z!0 zLw{QG#vEd6%69_yL)u>8l4JQ8O`>WMo!Mx6%%{B#hW_%ytBq#v4uii<+xsN_AB|$( z-1OG*zm4VJx_Qf=_)nM9)YydHAG7R>c<6;%(@XnS?L{PQAN^O}r1F&4E0+$1;Jc#! z8cNW-zlnN(6L4j3uwbsM(aPTMF`pJu?+_7@CVOwO-Q08Ljw*X*xw?NQO(?B`mO3Qx zC6Tr4<$Q7dx_b+oRt{xfu$L6V(kPg#q2}P<%kJ>R`OZe%WX?qz2mu9gt`X* zK<5sa;OFP?G4;6dVtU8ArPZdrfjZM_x$~iyRv#bsmuuT}X^np$RB~9>-l>>&UWL^M z7t4Eq1*hsgF7IgZKE{==G2;E|O3Q~}wgh|e(#@N#4CuMRvB=38l=@&%5`V(uXbpbi z3>JLeSIUr-_Om4T7m?s!OVU2xVFXY3R|;uWzO=f3e$xo4r~M4Hzfy!++&f0vw+Qc3 zLa;Ru(I!d{gBZwpum23;1FZ_~KlaPh`=AhfIrUn@8e#*1R9Wy3Ngd|vqAwL~>;V>> zd#J+uI65vQhB7+Xp?m23?yEmnh7^PU$RSj5XLEEg^g%np3VnbM`(sZuQ_w$M_+Qk5 z9}Yr#eBaS8N1|mD3s!guu9Vb|K==DS_*@I=2GjY!(M@74d;v1lQ|{iTUFefcaO9wG zZd1D#afb4Kl9Zb;Je7^_{mY<-gO#oL6`1yrHqErZVFlGfj|EG3?n9-tOz> zo*h>AKRr8wDxnqdJpR{zhhwVV!^_H@L;oztD*pKoasE?-7R?(glw1F(2v-UFr#or= z{`J8X)|_S_>|gp=`yKzl$LhROKIn!ggnjM5vpzfuPBU!Nc=K|#fBR=b!GVIuCX-JI z84j=H!YFdE9~D5{j)0VHNo1_{(2r9;f{xuX@$OL1(iY-zEDl@FH+X! zpU<}c)DT)1PVN}L`;l+D|Nfw`Ms~D&jSRXFst8%6CKOPW(;CA5*^rqFy&h_lc~72D z&_hjLb#Sbtj(IPl{Fy`l?8_YU9(^u+YQc- zFpF5|6u9$W9ALu>sG42DUI@d#)`gYB|EX1Ywcg;o4`IQhIl!lA_mKd#U^(scTX<#o z>tT4kUg^Rf_HIU%(%!$Txql$#{%WO@+dVJ%CkB>k|F5<;TaN3x@;=YCpW>9G9Rec^ zNL1C=QO&ZgpiEGtIfy1GsY?|Vjs%eyia-K|Oo$>Cyz9s4h`P};_{w*DvHtznu!oZg zkh1%8SYVz#4{NV^uYHS2)xI;;kn$C_=9IK^(>4@cr_~!?u4uae2>AR8v>e&xOBCme12mdHoXlUBR5QMG zDb|*m8#J;F4PCn9rO{4AH=raW>g-97cycBq2oUmib_t^x4O!djjbZ&4YUT5~xaa1u zlvao})-sq5j=UG-$e%_bv;lSmn<6-4Tm};*YgwC(O|ZD5`V`b=7P0{z&v1h+=Ts8} zTrpx5tW$~yHu&!=JjY^-$BMBX6QJZU7(m1_FJ7UJw#!KyC~eHc4AK3%n&DyQ3W$5@ zaP~5F|Kq3FsPH7)c9&1kB@>J~CX~xvprkaa081~8}w+cEB3 z*V{g7b(!FHx@P2xaA*AK2xhJf%JCYhi!RlM>XhLMSBGJDhRx3AX_zRjr6wKZxjjgB zUp|O~{){~fX-P1UNr3&k_&<4-!Z}*5^Nsaq=*cbNCjQV11b1j38+k*^sobD_uJeMH z?4}3%$-V|X&(D~yHoR&oO6J(t-N^oV;fCMygp_|>jbUjmmGT7Jtm(Qo(AJcC+^xNr z*>ekVQ)li}dcc0xxu`gP)rwRBq04BhbXJT$|c#gX6p<(E@Kx z$0~INZkIkVQnV8VJ5NkY>$LE^M2*VW|Kflhml`Z_+{dF0+GYsqrIh+dIKUo6*~C!m zxfggRJ0b|3Gb6=_e>ChaO#K;PgH6M{k%yk!LjU;}~^JleVM~e)lY0?yEY5VbBAY5~;xq8g23IYeHzNove zCIo-6#P%NLiuuT^bq<)F2sX(F6e_%DryZ1er)?Y86oauz#~P>TNC@aP*w{Qj?mSeg z+xcv^HU}M3s^jXxKI;dUGa2j_D};F)mS~@QPp@vNF{o{-JmZEJts^Y5` z9be#CtP>;@ZWgIXXAs5>n)mmX0Gz`oYlZonU0z;Y;El=>+gkL6<*{cLLVQFpK5BKY zE9izlJVnpd+0CV#$kZ~NR2w+1!etnC0d3QC^2`WpI@o)irMr12ixiw0Yw1UtwUKFy zS({1>z356Ry9C#9YqpP{!4>`iz#h8jmviicM{@@G<4botc}{h}_D6(1wIlRkN7=F4 z!Tgk)Y?p6#oNsbDl@$)>ym4kXjZ7*~O|YBXO}uA9uGxyhKaF_~D$Ex7H2*&CeCD!MXyV1&mmN*Q7Q(aDqj zGk!TW468}WWQ-NG>c4}*@{eZ%{x)|{2qlZ!N6)@^HD7a1iGZ5YLG$1*RTmJ6ZFY=t z|L()b!+nwR`zQ0$1NmseX&Z2n$ok^uJGVbD`6>{Xg zF3EZdaU1UIq`x>>Y4CaI$85AQg@aa>7i@nNo9m>{C=7eK7{1~z=qvu7UtRcLE+?2_I=(7!E|p`5 zui7{0!0yr+hqfGWRkEv9`nQPa?vnUmK0934otS zh9+=m6hfaL0>i82KMfB!0H5w1pX;)t%-ZH0@j!ZuXF>*r#nYuHNuTa?tzRaK8Q8EO zcw*ClZTt8WKi&-wr3({#!a3CKQ6XnAg0B1hR>Q${9)LSN$O1TD6%2tR2xrnX3iFR? z$hf(UwY8$4t?cB@_?s<8cYJI44>r3xzX-v;%`S9ds zg3p34RnQz8?5}xt`7g7l`0W{;*&k2NuFlM*@wM^F#oUs5FPbrIBc#&)hWn9!sg7(U z>yDamCM#oJo ze5?TR2Mhb5{)lopgAW!p9VhfVfK85yIlRCisP;B3Qse?)&hMtLfhM)qhLvI&Hn+67 z_f4GwMB>||VryA@rD?}IJX{=b zMdaZEmunh7;8)}BF_!xf4;LoYn>rc3&J@g)wM0kuO)B1{l}8dM;6gl#U2_))yHeG( z>iKW59S?namIV{*PS_6Z$^rll8XZML1tElgjwrw7%FbE&*k`EOY76v zK+1}~7z=$vzM3rA9QWFmE)609Nimwu7Y@7xsmPqLBEnynYMDu6lDKMnUQQ>{ zSsq&RC>7(q^Osj*;+*W)bc2~@Q?vZH5h$aUjFhoesMXx%8!Rzr3c0Vu_#)GY-Lk9BapRnphYuN75`I;&Q9~5;wInxodbR{$}CAt9ffW^CU0Mut?ghV$@3(hh34d zD*r<(~N14 z=BO4;nOKGw`T=s>3+54*hM4?gSrYwk<#{cUWv(|iJmuK9Yd|oKo#GwN&Z4?uAuq_f zIA4bZF^}w$c7nWN8qR~rd3|!QI^NXk;^?a5#UIa7+_7JVq*t?7>Vb@JE)2gkztw>O z-!p)DnIC@m5)VH{E_fyLze?|ipecCV2G3rrohq+)-q!g1* zz4D2m#idYd!oCYs)H3y6TS0@Af29JiP;>eH==MWf-w-UzBB=}Uu$Gv#qt)}T6_P8{ z@R-~75|HmnaL*5MZuzmZv%^nVG_e5rLl;QOZ?Vj}0$UPXkHY>$HP$6Vsf6!alY>)i z0vr_(*7O&KhkwxIK1PJI+1oGM$KeS=+Yv6tP4%c^a* zrD#^`i5`h%J!9D?*$~=O)wZOvTzGYr6sRVdK~Hui$6B&s__e$*sH2hb0?~)cJ?!YEqff^I8m*mvQ^)$vLj<^YQM* z#qb1Bp@39*z4jSYOeXT2{zUs_d^)0@?c*7q$g(XxxbIVP-9@n`Ew3odOfHM48#KVg z>J^HCJLz=L=j4Tb6q3wb7Vv3KTt}EDXQQ>e{G!n~pjt8;e#uymV`FWJ&_z(3>d4Wz z8t5ktQGd~y*Ew>5&^yR7wx5R4YJsO;4^O`ypYQH{^Z3PJTB@hu2v%7E%nY-)nwg;3 zm51Vb*Emy?^{CzDJ+)=)LH2#zN{$tp= z?RRtk023ag(u%s$$~zLwzVMzuM0vA*%Ovck`Lo3!#;leB#s3DY^Z8hMVpkJ?Y@ z3&{PE`G0hN)2B3e#6QGJrcNFCoY z2$eNHVmZ2jh41H~dTbJcsVCD>3_lcr0+ysO{3JQ)sb^1(SBXesdWR0Dv#M&b;pz=fk#y>gVKyoJe{|=Y zUEr@HPN3ZpueO2P=MR;J4< z&5# zORMX?VH7oUQ>9!b%PZ)$8MIdUX0TF;M!3|(G&)Z%N5B+1mR|i|H$!5c*#;topUV-p zl{4-{U4T>RD>0byEA8kb!xXtbqJ$sS3q2Iuk+-#UVmAY~9mIgQUsBJ9^hSmY9j>@WgN+p6oolzsLL+TX+Vd?(Ocp-fZ<_0NsZd`tqj=%*e!5S$no8J^@Hm9Qp zZMqQ~KhEVa6};zDOt{U{?WqYmIp`07ja8D6Crhk|3UW74A!itc&zypAP2WUSR$?$+ z-JgS+=xk$cEwzH&`V1S+r2%`5jN2*-eWanfL`0e^;ygkKCaeg-YKETF{dg%9B7xe9 z(jqqq8T9G-~TlTfD9&W>N`}}eP_&BO-AtFe#VhdL*pz)nZPY(NkiVO z14(|pfwhmSeZu+5B}xI34`Qa`@WrfZAU; zQLbzGPsCIIAqa?4&hvTlGtq%4QY63l-gA#cFIZGzQi>50MRs7%X$4qM(Fu<5dVuyz zf-u2Gn~6uL^FFdqHjy7_yizQxa9BS_>bJl-eA^a72*(07r3KZTacc zKxG+p)s5UG+Um})M*gQb4&1UZMonz~ukV_s|JQa-BvrZiZ4&k6d>b*?>)BZGc)7U! z?h|$DH#)(~qEMnmWPMK776|`}h~z(@@zM0g+y2kz{?Fa)z?L@_H-7&Sy$jwJG7wwM z_#(#yc^5beYjkya-C@z*lazs5>|QvF|ZDDdBpVYvL)lUbEmqH9Wrc|XB%nvvhm zqIg4pe(reO`YPTh{w4VEQYq9&3om4Fp7aueeUwPet2G2NHl<~grzJWz6~nD;n88MQrM#aMZlKTD+D=PR3C6`I#6aj(An@IQy~p^ zTPg)cKYp`BndOGOXtrEJhV9_e5}e_jYD+@o%bmL6T~emBjuUB_Ul?rtw(-MqY#OCS zmJ^K56?}%=Kz%$H4fT1fviMxN_Dtbvaz@3N#H zsrWl?xg&~{2%Uq9Z>%<=V1@(h3A3*YE%_-eWF9iZsr7PWR8R@zvgK2gH4yFQP~wbXkC9RI`f;hDk``QL)%6oty~MhwsNnJ_6#52# zI61%KFs$Ymj6&`u_Lpm{Jm68JqDX9Tcv8y{>>oBFwi?huu!x4KVv!}JMgxW&!Ck*Mq=|-x^ ztoI?ZB1~PFoF|Dzh#Mnh@Fc%-5?$NB0P9VL!ECZ6tvZ|6eU5iS$eAQRw)MEpJ}+yZDFWTLu7saZpYUGAY(mjXyM2Z0$98i$!-VUjfQdRM z=A(>=!EmhgTczps>g%@9wd!F+U9a0&S8XvWb-gf@+P9^JUo)^eu>N;GPO^oP;a2Sm zDiB&T(*CZX#m^OF5My@y8#p7s3fMY!lRUaCMV<6y(PG&s`GuM43La$sLEjf<)uWjV zRE5I{a-|MJ{zc$XP_#(dGby-DI(-v9J?bP0Qu)=Y(r|4z)<7Qk`teQ`;Fyp3_lQ`= zm+S<}KflwJg>`fc_Jx^^mz1yn$5z-(E}zf!Z~#cBix|^>Xu+ijv(wM-`bJCD-2~XI zySa;dvCu+Uk>drvEe!9B$G4o^TLDhV-Fop`eUW18oZ0Rvkza97WW&2lQCD!Dg|V*Z zPsch@#z9;_64_b|zt~WCK|kG@Y~2>g%4u$OMvHId`?Do9XRiH43UN%pwXLhwIZ=1H zYA4rDtea7Ax!^+Sq%y;E54BdZjPfPVyw|3Q$aU$y_BbCDr3r%M|z)63#{ z$e+V=!Qd4Tk4a?j(KiEgG+G<~nvk!=Ij9DWjs0@2#ePnxx6<;dn&x+NhL+YulnI2_ zmMqArD_2sJM{BDT2CYf_CEQt4El20vkATayA6~>$d+x?^oETJA!R}wP=F+f~+o;as ztN;v56DBt`b)j1svYFH2kSl#j0iit!hUvO!AFZVxfX0JsSWibUh3?fHzwjBuK`O4o zdr^9QoL+}}JTY@{rNFs51SX5Yc@KML_lbYB`X-7w6tY@w6`Fk34Y6#90|kW=;~zg_ zs;$Htcp|<{ipWg+C zZ`0K^bSH)fvzRO4z^}3;l4U7W+EccNDVByH!xTq3=tPNQl{$Fq{L)#j)Cz1U?jy@e zIolG)y&vTAw=hZ`fm9Zp*UmOAce0wX0E`sQrAy*8!21v|W||t9I>tqH7^G6h-&#PM zEgr~yVKT3BfKfFkU}kF>Yu%_ePiwQcL3iG|4^qX=L; zP=niyTe5oDtpZnsHYhuN!#-+hV#DCHVywQi;{7zH#Q!CCf&}v56)fRIL=F@X4?qB( zk2mRv}G+)p~C?@aTj0v()Fhjnu^Oub&4CIv=&s#Z=%?xCB<@Sd4iEUB2G z_q3ffT-c61^NpmUxkx@We~JD}Gim%M`>*k<7rT>`$7?AK8HUq4IV}3Hv6EeIPZ}!c z&-m_c5Pd~(3#=ciMXuKM#o&E70K_*C{@Gk+GCfgvbawfwUfNB;kGUK$gqCMm;pytm&@|&_;XeBrhrnJuQMQ38 ze@ja*2tqcun#Gc)a`_R|v2~IcI?>8b3RQ0hvP2E6jQtp~QH@)4Tf>Ncaj@ zU|t4UG5pW>6j#VNkimW$3AUe-B>di&GA@M3{onqyDNSU_PQDZHjW6ol^!ANi@E6K` zY5c$3fjqcLt39?tabKLB{ni2mTB2(xNxKihWkpm!4YmG}nw-9j^t_1LvDT`UaX1q! zm1eF}09!!nT2c@_l!l^($2hCoeH`o9lrX_{3surTTEx7heqE8Kr?!FW&D3ICJm^#4 zvi9^Ol=L|cKpJhElD8fDVZzt9(<`4hO>JQ>WVY2f+ngSMZ|>RGu@95P&HcB9_BPcd z@tT^T4RebrwQ9o6HEKUm08HcEi(0bX%?DXcBlFI9;w9lq@_FJkhC(D90ABQmi z`r-0C??0eN1#eoywu-YIIz@R(V~8fpv|sxp}EE<%dE+hSMpLOL7vTtS!rI!o6o z=Jphqr3fVQ{Aj5{MPKMQFSnEJgsga^t}o3AD?T0qlrAb#J z<(PF5vbkt|aSPOXDC?fo{FwGE>$cK9$La^OE&a(e%_!9YQRee$nQo6%NDfi<*E#q% z@qw?Fr#`gvXv?gh<5P1ct$CG-*D{Uzp=qV?xCwK)FPqA^eoBj=+r;WQ2HR+=EGwZ< z<1n{vuaU`FE8W#R*R(`Su~l}P?Hn1#8q-;{Gi_ggP8*_UCRY|^{S@Sf?X66}s5&X(vEJ-7pgaq(`_qokIttrK* zBPeZMrU_}%R3Qj`onk{s)~y}0i8KTPu;AiNd!$bo#@Z-(kQazkmo&w!HFM3L-c&3i zk!|*-g=gPldD;$*rS}OF0$hsR(%(nv#<2qE;{GqJb?J8un`-924lf0-1Kc+IXz}jf z@WLl@l$i5+3HhZ0?w|wcS`mg1+UoqXO!-BlQ}Dk86@gCFeKnt(03%tv@6DA&%xgeHCMQ|Z2~5hX-^P4JRT!pxf5EDXZTGjCPWloZWMx)J_y>x(%CEIN;WMqZhM${*;Q_mEtkvlmnT9$SUz)x zIRfDU4X9~>Pt@KPo|jYC=48Z~&2`e#MVxQrJOSjRwIWW9*J^Wal4hfHVMIgp({cOF zmhi}qrM#)=jB)QxiU;2NaPg$$abC0)E3kxKwGg&ZtcCMS*}-hJf^)B&`h2!LVfQJg zYYJAzIR>F+@dY;Ol`$i^5XC-KP;NyL)8NS7WCmKZG~RjREI^vE`-H1 zoh?yrqhWMitHDtrNcEOv`g{aP*A`0Ii4&b6HLa=_Wq`FYX>>4x@qCwTas*8-4(h_` z_S(0?64}Zcx=*XChCJI4XuX!CA2IHbH)$bAWfOpWEx3>_Yfdal(gKJ4Yd-&9(yX@f4n3Lpfe)dD8= zf=8UvW?Wjo_Gmjo$W&Fghk4UA6L9rvVjb0?yrZ&H51ZoEpC~mq)tBwN+ycxI zqsQ|j>@WO-?$-aBkQzUWHN)*QFH(>g$}ji0tDn9|SuS`1p&>g`zWs66f(aB&0}a@7 zHBNTaynm{>P}7t&oA&VH>hhJuRRy_A8%haL+46-p22K3cdbwrG>O>hX$~iw8WBH~g zc+b-WS3NtCatUtuhVUcKi>AheBy64svh%sefJNCrDd227+40MJHD&+C#ATCO0iY(* zK~1*8;>mcOV6i%ZoS_iXbx4(0`eZ}gErWvtsN}i3rLwNN@LvuKmS{hx3XPhxZTgOC z$lF{ptualz7j_Q{+g^c?G8`X6Z~gQ%DcUVS&D_2<_g4#DT}DdtC#*98Da0Z;`_6^9 z@r~k?10(iN@h<*`m!b|2@ko&!i(&o1l?m=@J|p%Rkcem>#xE@ zMoicW-Dk_Pf_~dV70hNjqs)G2k3~cql80k9?wW+p2p0@ZbMuW1=HS~xH%*BWT9B3A zP1yz&54D)C5$USF0rnP-co^(&Nf`nbj+JR5-?OGbrTwV_u#)6VXEHmihQYAi#Vxvg zV+Xz3#{5817VO8Gdwq<-#6x2nNtqVN$r9Lw@gAIVhr&kh27huTEAEuJ%21^GW#DgQ-)b22~%vn}INpZq>VE7sWLGZgvThKN`N9 z@8jY&AHFk%hVh&NrG&`K@wM1%+YYg*X8kbV6}0_dL@lU)EwGULw)h+n|AsP^9HgR! zRum)K-?jPo-M!)8(Lnw?IudDDgkJ)X(}NNu8j7RR>CX6K!h%%xOjpmv|9yOmNhP~h zGqGXk+m;W`ZK%dqNN=E!zHAvN!mhq+NsYtND6TJSH#lroQeOF(+tO+#g+Ikmif+ue z+pov@M&z@FHfd8Ykn9t` zW8M&Qw|e76Wn=ZQFT+Za@KIsL^~m|~Lm;cce7$!JPeY{r`JRl(SybV<Gws@*U0*FFvezyXseN3D|zJJUThp#$2}CesO+h{MECs zxAXSdwrJL!@$=6kwzfu7DZDW4%k37GmQo8tVznIU??u`CK zR!O~s^zxT`yT5w!@X2l+$?cubekC^#hO_;G7$|oTQGZ;0isj&B@oxylvr7ol@4tC* zfBRo+x!}ULcjN87JLA9ZpR9iM?3CEXr`z}C#Cm63T-fLG_n-gU=s$nIwHW{D_v7tb z|Msi@d;5SXNa{ZgHDu-1^Oyam#-JU~esd^PBPg-_Wto#TK0CSvOukL@LMG@h`A}i={kV4{AA< z{4H;X>i(9jn{pVu#DSZj+xw8K_dg>=h#sOfz+3WYzK`Jd8spe}G2DIjF!$De?=B85 zt`@JbCK01|#Y3CmBbB>9KR(5W&FC5LT8?k8F5mwRMVz-by#Ie0EpLv*yClQiS8wO2 zLz%&1cm%YZ+f2CGaK!-V^_4}v0*CBlw94=J@q=aKrtA-RJvdpsy*hmVH>)Sv=ZLtX zHR+L!uSoe;1{-m z4}hm%zVEMyR;oMf{j_T`G7r$wwqEnrmPGcw^$JRz6X0|of5on)He>tS^UG72ecG;6 zVBD1PbdJo)GlORYUT=VbqfAd-(&k+%sioVuFfHut&w68xrtAUs8oJ))Z1r>4 zv_b8}yU~8nD6W=A^VjcxK4vO#^}fB!ulN6J{%X1tqha%z9i}BTgzF{UpvSGWN!;RH zLCy@vnS-=~nzDR;Jf`5d8u~7McvL(oZJ$uXH zmkMk(zIy*xP9V}V$03g%pN?QoK~8!bV4q8^`}30(!j3BK40qWK`_nB5N)4eM@ssm~ zhunZ2N^AzYI(`4wC5UUi=3-2^71S!szVKgDV-Jnue8Kg*GX-;cd-WRR0Y+-i(l1J7 zrMdP#yP91c+Ns;z;-&(>Xe2@xAaq9p;&$5F*9>@5r{4n{FeVG!zX8H5@&0GfF0GV2 z-N$J*vB~-VO4Y&d<7^+r#>->8^|XNZ*!EhC$PbIRv*S~ADVK)<0|E??oIsQ9FC~lu z(hgXY%^sfXe8FWCX&H!da&~n2{;%)< zJ(D>H&0OuThWGyugpHm40YcEG=Xr%u3o*}D07JfJvndHGHoKybTGHHU{}3!t4)0o* zqR#44ryL4N%nk7VmvI89$2@`%5Yr)s3w^>;s4s!7x^g9@y5ZGM%>+tl4m5zV6+oL= z>womRh!`<}>1@st6_pX;On)%$v3CRyWO0AXmcn5u!SO*sj-ww+M)jIEQCP$qYNFLL z0{F?z%I;65ZGLf6qe9IK0MD3*$zVQMQ9EO&D{%1N(X-(YG<<(Y)xK}BYS^%jIAzO1 z&OdTO%iI_MredYpKH<&SKHkfE|5p&_eDTFV_7P8RU(7fCS~Q6qN%z9g;q+hI4A_qB zK4Tn$IV-4d`dyI@CnBagbO_9-d!arBl|mtHQ}sp0*BqHwC*}X=!124GM+; z24jj1Qya`K06r+z@%hVR9b=ueA$jv}t+`K5I8Kse1CVH+$q zJg0Lt!hIcGausE0-gg%h`Up)6!jyUXI87`}`k?K0tl0cysam4c=8R7aH(KCsmmstm zC&V6-t8%5BuMqnuN!z({T|q=_sNj$+n5|UPP*)bj@ERp8>miQ+Qb)bbA74ePF$N&8 z0j)|Y3fFi=5MqRi!=*^DNic0sPlLTd@EDu)MICpzPQJCO%*I%JVKSlHrpisdG{qL% zL8&Tu$eE!oB2qKYb;DPQxdk~NNHl%RLD-bGUDjkgM3iy@3A?-4R2V$*GobF|k@MzH ztHr;g3s2OHgzX12%vbsG<@~LPox)*f5|GDsr|k9ROcy)0?-P0W3OWhleGLh!&8@Xh zSfSNY`ex+8gmjyF4roJukG66on_9|};{AE^8}`$u+wcthOym$axD;x-ex>tYsMLoG zCQ>eKiC4|}<*1zPZpN~)G+Iths+Lhm@5|ZpWNDsGxy+h~Ky8`{(+9L|SzT}2F1qupx)&!Y^VI?c8pWA!x zJAZc*zXMF|iz904NHxYeX;RRRG+)c@IN(iM^K+oG!JFO>GAP zZMs<|*jR2*^9G-lMQ_i=1YWbl*%5ZDP~;dH=lnN|1Dai8Jp*2BheQKRph!u^)k`LK zz) zde_scFx(V0bz*AwjGGb8EQhD49oxp&>U^MlB2k2bqxE4;^pGaB)d3>dz5kmeEmYnI z7|C(eL$VV`#9pof6nC^>+jsX5^=!qV>wLCe@!%exD9IO4K&zheQn zpUq@GP!ztv6Gj4cJc9ia%YYmbQlrTu%?@=i>{w6)wO17EPthN!-B=?Yo)l)6NL;w$ zW;tJ9p_Q-`xX+6v9QdYVXKCRv!O5a?Mv<2Xmsi|DY?MaR<2pO~tqyU~(@c~SN6ttK z+=qt-3d19lUk7?XGC+=nVS)=Z+UVbr12#sxn$H3vpxS10lxP8*X?${sbBs?0cv=*T z&HQ!Yki9d2&Tai-yJ2p!-$UA9dp}V2ExXceg30kQSn$Ucy7gGp zFNV7*FSQ#}geca`)_|2U8|uO};G0wL2L8k9gFRPE11118Nhs0}%X__gZOO?(zxGQyxV|yKX2-X!N7DpnfgQUXzc*mlF?9B< z1%giVX&`e`8|Q$c!Oo=G@)gejYxNEoM?AJse@*1kEFk9N*&)$RB~EOr*0TelD;l1m z;lSy5HJVA~QX8flgx7u2$Ud9M#y(uQ%qBM<HXKS%ik}1t158nU$%A|8yc&G`W zJ~j=fAWU#t7*yawdHWMfQwd9 zR)*xN|A<&Vhs!0ZTd3Sv4D7M+NcLgf|+w`f0Ps5+YIy2jk09t4dvFZCKh4W#zQ zW+bB*ICJTxWh|alHwa z=)@#NfXPvmEt&{zVpOkco-EcYC`{+m{_{nhpqdyA55~$*V+`f_rxF3~8|G_~h~q*- z9}GIT0CP>BkyxWotps#ZJo@o}l5^;o$n~zWSPU{h(;(+<#X$e}A*iMsL9r_cfD3=* z0o_!>xPi+B`=ImCKwk&+erh0|M=~I`XT@_kTT;Sm8%61wqXcghsIpB?^x35?B*fY< z>V6pHx25X&T~Ccs)Y{!pYWdNg2$G3Kc%YrL)}ZHed)-IvT_y8)cHPLfw!{S@P+jfS z@d_s*DV92Kv->UUvc6A*7kZLx2({T1ku;?PZ>ZMG^0QVx18gwbx; ztMkiCEPKX(t(X3YlCE)wU!AsWGL$YiuKD4kimRQ*ifP&c35`JuwO#Ew?Sz~YIK#*y z(TT-nZQFddaUX&~YfJP{Xv+`=9M!ITVI9eW&Oyn#gT*$IVNL=VGV|Z<-7}m^%hwCI z|3hgE`(3;`!@~`q{KX&*jQixx8)95^bxarp;T%>?)N}nYct-N^e|o_ zX7~~Nhz?_8kTc-Vgew{mN%%l$;pFtyEI7t8+d+%@4~{l**+kRp`s4)S@vUt9AT;Co zbcTffGBF^%d^h`9Ro*Zlrr~Hwct~MFlvO>D<<@~S;Wta%U7&X$l9o(*1sSAzfkti9 z%qYWFin~(6HU2Kjy2y>2cBBc0L{s_>fhfPt$)g-=oz`#Tv_%Q?qng|a{oSWT14F#o zIFB{(tE&}!Z1#N@%Mp;i%zdc^r#bMAXI#ZdekhR&t5@q}wkIJAn9mK~xs;lYiI?p~ ze**y0=-4i~3RHQb>Behr*muuJ2_4o`SRkkBnYOW+G}+WlR>@I$^B)q~c3B(t)T%V; zHrtGK-3UAI`8wj_Bd`Q#1+l%i-Q^@oG7f4R`oX4gl?srKyrKS-P=2B^))= zXM|0)D860E(SKg!>t{vd;yue2Dgx1R!%3XRz8RypFEL~uoZvGg-5FyCWcQhXej$+A zUz3C61_YMPJv^lJNofB@(`rr1!Ui>9F}pe}j)_u%fxK3)PjK`>8hwH>V~JP^dc^y< z7*;Z2yt^-Dw788@XglTTk|LL0Y_&+YqfMmLu1cj+cDpOF*5P(;Pjhrf69}6YVq=>k z)d2|@DBbUIwea}$`@eD|Ybq>&Ql%{L1{_3*}eNn z_@+;+BdZIu;=~Wh=nntKPsdldbN@wh@VhG0%XtpmkWBEYX(<5OiPr_~7w)DZWTki` z_uiP+AUX5|K$}z#*ORx>mJ9CXbCauR$=p4)2V3eKi?~#ZOi=1I>1aA~IVu?5l%)M` zh-xXS^fijw<+fc(Yr72pzETLTed0}8*Dugq9c?7E!a!*#^8zVO(<@AtoR-nq;Fem- z^^hl{aqRDP8DA6!h0?|bNK{gBL+uJ?YHY5Nz$&f@?g z=ar>Ai&MFou6;bH)iF7uDMRdBL`$kTp!853+w*)8_BgncER4pyEu9O~lt_N~7XjII zkbv)E`ZEh_HL$aJ_wTtVat$o|Lg%S48nu5pLwU>f?Wt3BPI#zhH_5_Y9I6woXtu?; z-hH&rx~^&5Z;O7NOlh z*K?Z7P_o*U0&gManVRBSgV~6L58uyWmPGJ|d-D}S{<6?|F-Z(d*NO&_q{lNwOXTY0 z_@yrNNQPTL=8-xS%8Axiyk1NJF(oJCaX3i658orn*6X-|em&g#RGNSw7!4H73q4x>;+A&SYLj#hYG%xJpW+ zlaS|d_XrS3i&U@b>&t!15-Z+7pK1+i_1Ci+OzQ!)w73AnbOQS6vYF$*GawSC`h zrH44JtaSv zSuDk~UE#07i8p)LPMt|Bh;b4A=-sthJgL}YoNl~NO>e9_21F#pSoJ5=$f0;LHw2WE z=D2CAc4>&jq#ILd%HM{@{ayk;d&V~}ERfM^N=xYg%cfYfe+}o`6li$g52jwv>NZuK z*=-UwvAa!nQfH=L=J7!28qtu0A!ta$=iNmyu(hQt&(SntU^Mw|xZ6q2JTJ0L(%1Oj zCcooTnsk9iD4CknAeQa86NXwPe_4Xe3{JOcsn4k_?}j2GS7;)eoDZ>~24S zo6@a-gn3X?B;xZ6TSAybF(atD7l$WDS3<>9-cW5*xkr#c1yQV*q~KDL^9!HdZ9SDJ zuMcx0fXn;a>aDa}yN*KmX(lEuS?U`AG2LI&y&i_!;ipdb(G=Ph!$sRdKT}^gH zT`kp!78}_rZ_HK0#SB}jr!#&@@F>cPo0D0M&$bx>#W)E7N|p6i{qllNMisN!z?fLg z%|jgcxU|>-XI;Ey(_HPoEeuFlaj8OqLltuNbJIB7isKb>B$aGz985HyrKjWG#b632 zBvGRsl?fNN4~T|Z6-oRGD2t=aE&0%BNvq$q-_RbpoPCG$cl7>mr`95d5CKSB;Pz}U zdaS_6u+NkH+jqvNh9>T^@Mna0;znR;`=9T)V;9Fq&Vlrx^Ifw4d^&8hV{aMRC}d>vKp;qb(Qb&x-1F zMk_0CCVAmp_b-N&y$)t@s<_bTvb#ELMuO*+T_e*@xWu{TXUy)ms@lE|m21oGF5<15 zYb#I&CwTnIFEM_gH0zvO`skb~$!ze^RhITp*lg8T_=YgPs7<9gjUCj2cS`|b>cB$< z5{%npoehNeVOi`B%$F9%)@k_4mj`c3RuEx<$xEo)n(Z$M?@U}1tt?j;@N-)c=KmHJ zhnL6f?5it6N>H0i#mEuMFrKkfIK$bo4Sr5Ojj{wZIU!-@i2dLV^^RuqlfI)^+f4hr zKl0wzPF5n6Bpw0>vxS1=Nhwh~k*_MNjOIe#vvTd!D7SS6#w`}?1;-QbIGajG;$!rp zV<<`N{ZA*8jU=I`me2xudRs=53D&nQVni{_+iiNxy=(67tChU3*}zS?wKL0(zL<}8 z`-Jhb&Ef?fD;OGIgsq4xT#lO6Z1FoE?(aT$Oe~E*K6rfhtKFxAP9T0~I0kBQfG*u| z#aWYA&0-)wl>{M_Rb3`~J_pGS@OG4s<+I7m3cpVsBN(({4`rt*Kjs^0+B9|IvP# z$^gE`QUYK`g3!$fOefDV0QEa_Ad*sfED}14?8;#rNkJ074K#eRcGA|)bs%@-RV*$C+D}#1p~_a3aCs+z~Nc-K0HSn5;3t z0)pW8gZ`X=1HTACY7_3 zU-H{=n6e`YzCf{GOd?`zvm||`Yt3{FRgCJ(Yo)fQ!)IO%IofurFzLuDmYHcOKCVhm z_hTy5S;oqJOeNoYN}9m>iv2h`mw-DNe=`nukS{BAP05h-8wqy%y2WnVmYNj3wMXG# z5ZCr{^JphSoXo|9?^KV2ri>WJAj+^=5oogq0hmtln}z#!^iJfPQ?E9ag(&1T`G*KT zKZ5PCMVa#kx3h96`1T{UJQh6xU@Y8lF?dvxHpy@q(fJGTpy`G{Qo6+BXywVk$o#(aGb^j?Ru8bHSTxFf1c{49o#wwyc6 zKvi>_bW0+<;i+4P|FAG@QF1Le_jZyYoblE;lca}_JWxPKS0QAeH+yM@BIqbwR6{55dy!3{Nm)v&bFP}(X}0OEqHM~*)T1R~ zUfec;1o?=iTxrTk7Liq>P5Mq&4r|gxndVS7JZmLl*~F$Qv1qlh5gL4_Y6>EtxGT4G zxS}n|<7gl~0KF;w-E}^YQ*;)bVcSyX{v<~-MGf9i5A^G=kC%9D+xO02U9l?YsKqOl z^wGeyz(hoMD`vw|E>pN#<~%p87?4K|@V&I(+s3V3=(-UTnsV`C2V4EeAXy&@g!Jxi zpO#QV3E5{OBaJ^ObSms892SS)F7?4o!mi>6U<$MI!xa%K2*@hV@v)+1z5QaX70$j& z>kUYXfrjHuu9s}bc3p1zNvdpr1#-Dw#rTIXPuj$E!$FH+L0@2WOx1CM1rz>5H>lts z03>0k5WirdU2~@bVV18y#g1E5&#_O;wEOaNq7&U`2Kg=hYI>}LdG#sg3~~;OQOOv( zS5`)nXI_v30fIsypT@DL{(sP+Yj3;5LAOeqqxmu306>eC^9!)eCR?g;-ptKOq6d1a z8MY5az&K`Igue0QKUx08;t-=7B^EAM7ElS{kf!)kLk^FQ|Frk@Q}kdaURANrE-?1m zkl{}=dvq7({Cn;Vy6hnq5#C(J!aX=OziF(PnC?Tt;9R-qqpn5L>F*JtcJ-1kjT*J{ zzf{XjrC}$7>~nP;v7~Jmi`c5OvnV7k+kd8!$M~U>K20l8RO7fOux6**Um7b7O;Brl z7kIcFH^Z=KZ-$f~E7~OHW<`4>hR6`#QWvoOn0(Ep6^2aZ)JrCN;5ms5+B|{?cthQx zzl+AG4{)>YDmGY@J(%V2H(LL}nq?*zafzT=yj@Yc$lHPcOMP1JyO-kIslu);Y$Ni) z^nfl(8X%Sz)r%P<1iQgB9-)VqAS{P^29zn%T27b>4w5_NX|IulbzxgjeOZHi>C&KO z=@>-lub`9-(p@jICq9M^=32Sr8^KcdQvs!u(Ug$Pb2)HfT%^pzZT8jCdFBG`Zcht` zTPlP`)$aur_O4WLyHi;xF<7U(7r|(tz3~fTe#%i;4BUl2;I;~rk5wAtUpldz;R#9u znn3c@wH`23y2MQG0#w)dokr|xey#w+$)~1XWt?pT)ZlSyvg+vpzmwDb=1kf^YN1xt zWAjUF3+Y+fkP`Ofj%!3T(ZuA}m%3;Ag^w!xg-2$!W9)Hcan^ASSpqze?B)xW-ey}r z6Y8yq%~{S4t%IG&tjR0Xy_^%+lxHD4?xDpj0#YJ=?33A#guqA8t|k@u4J2zJB1Q4C z-2UKaGJW8}fqRo+!oZSMH(#=d{^d#|2$%GN!7~I?=fjawBxx9`qs9BbBGrS2{JQb* zGiN#tZbmb|KJGgY!yK+5jg_er4!sB7neFeMJU2xl`f>L9*Bae=a(IT`= zqD8M-^cj=%;7P4+A%?G*#@yTkIpM++Z7GnLQR{jfqGKduV?(B06K3}uy_XUAMBRl_ zmEow*26L~qp43eNBSIB!u%FgLpC)=@*RREx%6C1>sD@5u@tF>D-P5Ry&D(DFFj{Xk zBD5EGIp&cW`ylMpI4Za*Xls5e=P>CcY8if2)mcLXz_vjJiW`_3+S~$t>iqZhb;j0b z-jM08EhmIxy|9yskB*u3$Cn0-#{jRc)!cGTNhHT;SI~X! zPORoZcwXA_b?3M|g>Y@N*R4X^b)(e0rk%1yq4T?@SZH4N*-zthCus%zUx(>i?^MS?GH1RWcMPSjl8A`S_$Y=dUaZJ0$@GQ>!WR8{>T38*c-pel|;&N~|q-%`w+VX7G%VF5_T z7{Prpdp2TnNaT{2q6(2&H__wKZl@p?<4MwEQK{Wzi_wz>(DBI%Ze9!3N$80Iw$^D@ zYr`Q^bg|CoHflzM4k|gW3Sjs)F2JX5PwOz+rG>)(Mgvt**9{)19iE;OtMte;PF6pK z2d>7(wN<}{Y_5Dm@$|maF{k@;+cDGQPPbPw-6YgxxCPRh2@%{JF}D|8G~@aHoHf?H0z7QwM+0LQ5n*U077MQ>)A6Ms0zq<_t|F|A3Y<;>IWXxG zih84t3i(1&0cmKj_z~19u-pY!2=l_&f;D5ikQiq?>VV9IsiH(M9C3Mq*tbo<6YMLT zic!(-Shc0X_O^cVnz;fK;ZJCq{^nJKt)G_fZn<7kS}5lpZ9|%n(Ns5;8N>Vf(GYZC zg(-m(!3fG>HyNU4+~e}?`fGNfUtUZSq$35i0O8EMKW4=p*OuHVrB zl9?;x;u}c8xR9L*BAdvZoH^WP0F#spqY}lIGB#F?YRxdEgzSbE)En0uGy2c*a*zs5 z_ThZf!sXcYc;P$kXiVhGaGojq@0VFdza;?f$1OtfsG+B#&zLUQ-G)IO8y;${^JWR5 zaLpFP;8whJ^)9G=RF-E^Wf2C5J6~wQ51OCt9e?(-mVuF!*k}Rf97&opplhqx6G`+Y z)*D?dx(74d2<2h5keeVEy6^xcp{r<$hufch_M6a3PSgxde|FQqb=6wTj}V4_Xxhwu zYd4W;1@qz)kSA-Do6NYcRp-poomeo4#+hBOfGLJFPT*Tja`kaXlYa68p1;rUfBpEY z=erO8_+Wt8U*OvhFtfb(Ks+@e&D7eZ%C#71SNXn>W0Su`72x?3uTsbt8Vk1sAFlg!XdA`TeRvOnVo->_)V zRO2INmlPE(3`LTM4wh~$-@`Bnn@7TM0eDqrMP{`}ls+SSd( z^H51brku`3t!~vubJNM=;Yo#~v(FU8gG@Tf1Hr;-K-O6lo0l9hIn|tv%6oWg276L! zhApWLPa@`DvPc?sn;NidrfM{1_L?$43HUL+hY}_@ps+SR_GUkAU5X~iL&ea2cub1M z6bfw!LgmAY?^yn$8+=i0U3D?nsdK?pE_gB`pM9D`Il7JBy?RDOV!kSqv^1 z$moF2)0ar;-YEx51_z|%nv?zs?vr4Jf4U%$jd2k^3X8#ALD1$eX}=hJD_3RJKzrZ=#9j+m zaDMpi3Plle4 zg5#WwDUV7_B-!n0haZpc=D82J1Arl$L4O!qRhMAi%5{7VG}-+%58UJ~2H@Prti=hp z2-AvOz;-z)(sADHFGCvCxQm8ZA|5cixqPU%6c3j!tOl$MT^Q@lgGzd1NC*K3M)7!H z(0Ws=ine|7t}I5T5(1f|JxG#VQ?)BoqMck*WX5BIl6RR;TVn0gZB^N`dlj&53;}kDGCfF%yHm2b!VI1A6BP3 zMU^%BS&Jt_e7BOxpB+_Ut1nRS%<`HN#_{WxUYgQ%A@mr9k4)KnP&V#J4W^v(zW}GS zwh~UqP-0l_l$3p0v@c$-aRC7g365g^NLJM!K-C3^Ch!)UVtz}8sZr;1P#CVC{F&k`PthjAghZoXA4&|5c zO>B+j=|Bk6LacwY_40}^y^EJ`Zgt9ykMkcfp4d2a8#9G%Ij zr^#P#cdS5{v*((aGQSc#&y3K4J7HB#ZKqPA0?*#8j?WkALOT5UxjQNa$XC5)oQF_! zaZzwE-&nKX!}<{E$b8TA(!DkWEZ^#Z%02od%&Aptgs@KfkABv?$E2U@HRUGc&%yUm z#fZGEf9h_fY-{U`x1HZ;E8KRZb8Qu4P@;l09+ONT@3lT`7#libq?pZ24u+ZdUY^cv z+g8oW6t&A*cJcanTHf7kr?R28Z`B9dZtl#9Qi@ZU_>J_coN)`S)GcHuXx6bk9Ds$= zdg79$-CI5Udmo1>I_2O%<{ovtVu@5F01eqWY6J@yh%ap^ol3VR336RshcdrwrqnK@ zNa6S^Ja-oc-pSvVvY=4At?86ZQKa?k_W+HwWao+{YQ92U@0_3V^3)84Lgf!ff-nT# zeK%cqlWL`0d3!p);!?UqJ9|@Wd@|u*YG4G(RwA?8y7c!kg_9~Z1ek8V&!@-Z2}tp# z-Rs%Xie*aBb?I$k&&p8m5#7nWqZ*JaKrI9-_`CK>nVpAwQ1F7B%v+3sgwhJM4W$CP z`N^tFfH;CMF1>l8sG8!=XidnvZ&@#BaRCJuPhW$xTSC#x;Ary9xTJ zMR&bT#bPhlOCnbn-&nX5?z8=J$&*vczx&X-a)2r3_*^Ukq ztRFYkqae>MEl#)`QTj-?W}Skf8pzTm(-ie!N4ooqPwsPMA+v1mJ^E(c zYS|7QTB(e08G0z(q;N%kc^MwyOR zjWm!fAS4g-QYcdj=UQ@hJGM1jFyi{rJge0*^F`KoKrY&{(pyJL0mD4sEqC<;5}Qny z$y@;-LPzMY4Ftmp-ox88O}MetxKx<7>JU<))EsZWj3+^t7G6lwihCEEIt#+TKW5GY z_*Qf)V9H4qpv-_l4pRU^mIuhX2bEB(x#(m{wq)pfjoYy4v)hrV%(b!z@!w1hgr2EY z>)9kep6SNpG@;+R_@5vWnkbo7rdvo6*)()0edsS}AqY zfTi{kq_0JwHw3y-;A)$%>*pA^hQhCKQAgL*^y2=Mi_|{1miE$t1zi8Beh@eCLC6 z8!27oB)%xhy=7%>2vXj>#f;z4`vtQ9J|UEh&th%`M6n z4UB(7=Hw8j&1*1GbE@KUD@Z)vh`yn$2)^vGLMJYYaQqd@H8_)dFkD9+g}T1q%JCU? zP{G3CO!BI~RrJ#@Z1aVLT<#r@TL}SgPmb_ygyYtp{}v>1{{DZqKOG+lHmlt1CRb=bCd^57vYIu>>P`dX}Wvm-QN(4 zJv=#TX=@SGY+RLUv2LQYXC4GzHVqW4zR9JF$8+iQORbW=5zUrdgj;UbG-aGK(SbBI zA5?SAJvFtF#UmA`xq~aS(U{FuzPGU`-h8T_Upvj=kp4Ss$^&b;~riVR?LnFjzW-%>@mhYSY}SPGmz{&_ISEdnqAezLv*K zEW=vH+7LIF-Mg+4%ebKtb44tkgWXs*WPNl)-FW(jJ~Sd<=iY5G886coe5k;t-Duaf zZLF@Qw+exx#iY_+WJ%LB@B5qJCyNjaQz^@}^9;Vs+C#R!%8vzWeJNQQ& zI*?!YU_o1L!8QL30moQFsthkkW}SV-_+R^PzRjm6z2#9xF-Y zlxpT78qDv4P&juC%EG1!6cjg*_Hn&a#X(x*TU5VOorTH1(FTYv8>U%2KlqODEqD zoB%*`7mC;j(BTnqj?NQzfXu#a>7U~*uvvV}a-WxSnt9j`={BYF7ANLGlc8UZGxZy9 z*<3j16(*nM3PWFNJAGjLWRO>l13zgAPEV9z6|#Yc%-40r;7Q=eCp9Fj_=OD#ofgSR z$WiTx^Ng+=z<0mgM%t?|yH?s?8>gL#fosf?N{27O#ior)Uvdp0ltxPO#2*+kX)ftL z$XaTTl>jYSv=zxUJ!dQBTf2QVTuyC4tf)og${oNUb%9*teny!ILE+q3oQ6r9ji}}t zf5k398&V6`g_A*WVR3c?jw7~A>;mV--nUi2Ay~Og^_Wjds0hl_*wwBxUgbnW+2Tz! ztZCS|HWmv^iISw)!n*MwzoZqfr9f@@NxSg=P78SnHXaRReL%NUD7CQAo5v>GWF>!P z@45-Ppw^6gG7hd1A`s|ptx1N7+_=odi%ipO2J5kRqFQvSA;IwzHm#j|zgE{d3+b># zGnez#`4wT;8mrx8c!FVHur*bG>H&bcg$IOSl_ul=$DMQg@wDxIv_Y+JqWYUIFfmCd z;(;fNe%Q29B__=ykUg>u)ZC60Cgdap-D-;nG(PKKxdwlA3{7!|)4J+bQ8CRyet4#9 zd^De5Kn-yw)+M(s%%u^6yw!YJ=XM6907+Y3UOvqk7o^&*TT9cVf{+IF@ytA=rMe84 z!EScEDk}Z!Xm1^3hXfZ*Fh!Oq?g%*qhqN@an{##57P|>n+9=lxWu^T&*IGe_1P_rv^n`GOT#4W!j7(PHT?7d-4 z&pNfifb|gROio#f2jEIfiwy8>tJXX!4^Z4U(_ik5Jn_+bma2YuDmR1jTYA_mzB4VE za@$(DZ{vBk3@Z;fb@GBW*pf0;V+zN-ktL0(0mD6vLX8%{Eu@Zfs47jCQ6U0O zK$zV<&s^@@*Yw|zw9z8kwcDl@pNs1UxEhGGW`_Dvx794}Y0)Ry4NMaN^Nz21UHe73 z9bM%7*tVVhZP@0vLEcsD=Xu=-Gxn;-?F@nQSPv;&B7n}$B!B8t0ow3C&^uzQOX3)4 z)N6eJq5gcv+OAsBs-mX6a`Wlp4$vu=CA$@JPw!j4V#5G~WvbaQU%{j`^wavZ*+_pN0#0`EbaeIs z7)n45Ta}MA-K>($LvJC)(?lZN4Q);l{F~MCU90cm(C{CG}1Sv9WKlst~<4bng%P4gOXgPf=%EfnQwmEMh2C1tDU8cFY+Pk zUMp}wC=qy4B)8y|2~H?bC74Zvt7?eBa=%;P(3UX8k&Z_5f&nAtjMx z8T$e21{K#WPuM*IWe`lGfT?$xaoifO2{z+Uk5`$0?h!Qd2;(s?z{x0_SgP4T0;zMr zeg^v=`2>lJgUS@$q|Hf>!g#Ph0iaWYdM?&D_>ZU~7&Kz5m}QD#D_Kk8vUwoe%`k5z zRpa3VJ*84WtTrihpk;7bYpzEfIRn1ix(ZO7>Y7kQx+0ths#>Z)2ql4-TkE#n=1Pls z(}M*&vh9KX_+X5>Rqi49goGg@UpiK)2es4H9H_3Kt(}fvsuS#-=SlFQZeA*wp=m1A z4s}Ca`vq?%3J!X3jl+}B0G5377`6J>VXvy)8@J46atDI)-zzQw z@-UZ2?3)ZBTT5h>yVxik)|=YUh89=)7XzG-(hV%unAvLvVp>KNyNWQ51|U6pjL+@1 z#e5cuuVfIWwH?sB;J(VmzMT;kMC)w>#6&t#74Cuk)bOi{EU2jFuS_o9u+Epdou|$ewa&?m)P+V z=Oxw3u0)N!^SxQZgD;N$@SCm97#XQa{c)AKH#^Xs)WSQA-=@p9EMsq9Yo=*UEH@}q zg)4VT2Uz#K52iv7-r49CG+A~5J&?yK&)}a{4r%ymzMP${LW$xZ z)PDr)?1t2*kf30WaQs0kZ9h5ALJc368VD-G3AB2#1(1ci+fddPoSebF)xo|WX(6|g zzOgJDAO)CrsbE7>SL z7vUFYY6Hqe71RG&KNcIG2rR~aI@I}Z*O#>!Q{`7vXS|no{%N5C%zEH7js9J$DLa|Y zBNUN7OutdSp(3DYE+szRUDt*I!rDjQTto;|7yC0_;A|3Wm{MCMn$fL0Kasmd7nV0@ zX8YmTPZI!Y5J@QOWp!O!=q?3 zE~G8_;rvpj-QX1BjY8j8^h~uYDj2e{%Q-b!re6t0u81{I;U4ZK?@oddc!3i29j@O^ zJH+er{I*_ORtViaGAtGTVp88LS}d$l@eTcoZ~BxoC$x;V<(3PlWmkYb1uy|T3Xff@ z%W0%(%{;RF9&Rlo9il<>}nX{a2ip0WbCce2oh_qnB0=vW;0a;VwDpM?Qh1>7h7-atY|}AXUrcHb&YN{(3SapyIM&j`&8UW z9&aoV#j*7*H>FJ%X>Y}UD&@)$O=v=Gl}7ODYqb^VN6j~7b^KVAmAIxd`i0cUIfEf* zM}PvctOUlXcN&|8aTk~i8GZ`58*nr#ghtY$j3HO6uxfvIoc>^nV;);0CJJUqn4pP7 zxB2A>)e6&42|XK%Vexo|JyT?D<(uK#lQ|cK&fxo@;Sdh#WAkh|sL#?D)Vy`HsVC3T2TcmRzsykY=wEemCDo4w(<%ofBc| zuX4dQc(#BifI;l)-H70%lVt@;Kg3!mz9mjpzOun zKi%c!t3m3-qCs^GFH0^E*Z95^cQmK+OXvOH|5dMykF18*bN(LzT5XzA(bKiw0(~=| z*)PzDUuTT@8S4SFvP3;b!Q?55@vk-7vd&XML;d*!VXl1o(hfT28RLO5QGXd8=8RSY zX-+`Kqh6~L5D_z%wUyo6am%9<$|j0ZJ=CFsu_egJVi=}i0wLM{tjn68bMe>GJT_Mv zML!@5rRbM4pgoxD({o-@FPa&KD9cn4)6n>XFHQULeTW0{u*BQY!YAVCX%74f;?^0^ zYPMoJ4+}V|L9&~<N9gV<6J8n;LA zwy#+IE7<=KN)W5Z2KzZ20YMr%neYdtD<7>553VMrRJ literal 125311 zcmb512bfgF^0$W|Ip-)t&N=6tBu7P27(?lq(RZ0PkxW z2t1Z25V#m8X&^A}-aw!wjEAM*ldv${3~3U059Wq@jbE7j8(0AOahL<1gN5K9upG=a zHxMWYD?{092rI&lFh9H*7J>0l`qN-p_z;x-i?9rQ1Io?;lOKmgDW8YxFV8$zE)9!Q zt_^F!_OKz0Gx@_%?Vg8u;Wns#-ht)eepm_q3guU^`vQTIuqsr!HIzTsLB%5m7Jw7r zHE;^d2XBYH;k{6C`4o19UqJO+dVU~K16GFWzZcXvZh)oXSS#OQM+P~%$;6{qdSPhca;$6= z1CBjlGs=@;8~6fj2!DWeVd)25xhs^NG*}3}1T`;jLef648*08jgUa_quo(Qsm~*jf zR~nW;UIS`g+CteG0&BxtpxVuW8sB5E2wVkg!p*QC{1$55KS8a((yT_!Pcv8;c7XD$ zKa`#8VR0A(<=!8|gwfeWA{P`3Xg~y@t;ewS*KkUl2q1It9s638? z@*@eV{q0cwEHe31#+PAL1$WHEx57&(~1)E*c4uX%9nb} zUHgGh_mf+p{FrH6Xj}#rhv%W}z7Bi9cVQb?=n1zk^oFXR0+lZ_p!}K-6{m-x@^=la z0JlNS!$GKV{{ZF3pHO)pSmEZU2voTelzu~~c(jMIKgh~A!b+5rU=_FkmV+-r&GQ~8 z{lie>IR-V}KcM2B^GWAN5h%SXR;~+`H|?SN9S)V>-=Ma?LGf?xI;~6)us!;v3g6d}olphID{?CGH_ZU>Z zy##B)olyFxj5(imb}B;IZv`vD8(?oZ308$~n*114o@QU=?sp}i;?Ntazd=xO9}DIG zt;YMI^5H3{d0Gb>!A(&6!UeW>Eh2gqrWsQ2Rx?aShada1^TF602Qa z)`s%4A=LOgL-juxmWQ`M&F?fQyK`X`xZKJ+pw{Q-PjCA@2&nl?gz|GXR2&|H>USNKy|d0812pxg<{em^MtqfMR;i&DM|DlZ;{(pwK@=Pju9auCY? z?@<2cd)eXwrC%4Sz5^@@hd}ichDG31lh1`}|2UNYFF@tnF020rYMj47*}DYgf3a6w zKb4^7zX_Co{h;P42CCobQ0?Yh{Zp_Q<;}1@+->qdO`I#4% zq}&o}T>YT(U=*wclc4N90;|C-umSuA%I`v(+W;dQDQ0;m`)h9st{Roua%TRW9K>2&ncor%i*SzMQ!^=Uf%bu_d>2aI@jj?^x)e(P85o4yq4MDysQypGQt)r6c`mlaC#_PbgYymrNcX68p75{}$ z<9-Ip?`=@y-wXBJameIV~*ke2i)laS+&fjWK&p|C=BD@JI@85@Y;SpFJ7ToFL z*A&XX{;(z-3#-8UVQcs@>;+Fl*=_!oi{}Wa`3XV!mkj&D>97fW59&VhHG|3oPQ0V^0_%w{5zUF!I%cMuBO3j;9@90mqLy6IjDXQ8^43{?-bOy{xErgcZdPy z5--yEp?dI~DcQ0~=7j0V;m?z?yIa ztOLJ<*TUQ%xIC=^t5falxS$Zh@M&%TWH5+3oh#x=`cq3-iLkPD>iu!^Kc}vE8^EO8AG-BZ4XWJBI2x+m6sWk)gIdqapyIR@7KBG&es~rZfPX{nBY8e@ z@$L!LF4@ZSq5R(n<=+P|A3O<@to#}*Px%9=cpQiF`!tk4=b*-W z!I=G1w|^9X@}~$?+?vB;a0rw?aj+;%gNom5sP*)OaWm9Behk&_B$Sc?y)D55S&q zjmgiMyx@LUUjwS2j<6~m1B38xsC{-7RNS72isJ?-zh8rz|97msA8I{(XXUd{?Jin5 z*B8#;;;i0D${asM&VlkBd%TRv52i5KySP}jK6|a(CJH1*kNVx;l_(nnX zn+BB+OQ7=MS*Y=BhGpT0Q2F`;tPf8^?F;3;A=hCLYP_S3Q(;5O4?vA~C%hJ3FnQ^3 z-Tu}SDxdC#%8z@Y^5y|6uY|cNzW~+W2B>wp1u8#wS@~lte+f0uC!of20m}btj<|7E zg0kNjY8`ZevNH(E?#)&n2W2N6Dh{)ZOQ7togKD=GDqimz4?^ver>y>0Sf27fQ1K~u z)QzVpY(%*&tN;^W6?iZ7#tYT&2B`Ub-^xdz;&2|S{Y9vGssEi@|4m>G%I%>1jDZ?w ziq+p?<$Iy>;!&t^t}$+fYQGyQ9=}4_xdb)de8(J1L5;f#RR7JO^1e0H_!Eq2Q1PAy z)qWmSe~&=zQ>&otZ#3?N+Q;@n`F9Y?kJDEF2UHw$e(&s5glb>k*apgOPpEdopw`7` zs5nf9%KN*a^p+Z*gR=7~RJ`AUio;>3e9wN|t*1s%dE6h?hKVo;AAyzOW+=Odpz`hn z)cCXi;My05n%Bm#J?sJH*DNT%9)!x5RZ#2xEvPtr4V5Rq!0NEj3Ae7A!3LDaL&a?g zlwT{M?0yK_!Y^SZSmvaA{%r+oP>zAs;9RKs7oq&!3zc8r!fRmBA6}>9<=b;m{ceHY zx`1kT1S&5s!u+u0X&3*>Q1j6iY8<^`0XP6kZzRkG$3cxd*~)i9*}n&B|9S!{UZ2C- z@S>G#oN;#hLCxzBD1XO6&1VYKe9eOD|9Pl>)gHnvR6Ik*WLT8)ZLkx(A1ZJ6 zLB-`Pl)r_~x$%^Nid#)9w}Wcm2Nr`j!y+&R=7o1b`7;kHAD)Aa;CiTae+0^YrQcjU zYC-we9LoQ$FbHpj>SvkpMJT-;R=*c&zJE4eH0Jr;85Q6w2?iQ0u7%RKJa3Y1kghuVGMei8oG%B`ME`isMSC{@#Qw;O9_w3;gNql!Y39 zW2k+(57hYYfjQwTQ2Lvp`rQTVz^|ajpXV<({<2W<30k=!EK9isRNMzb#pf0%dr44! zPPg(RsPQd_8qf14-v*`kK2%)4fg1ODE9d*$l`BK#eRE?kDE*tD`b~x9;SAUmE{F2# z6W9)Z3$-s+yy)W86{_E9PDbuT$TVqqD|Q(y+ij=!pc{Eg$>1*P{7)VL~KcK+0Z@~=Hq{6@g~Z~|2O zB~atu4mGd8LizItRGjh!vUzz{8ESm>pz^vs)cCtW&F^3;RiNaJp!C~A z`8C+&u~6fgXyqAD@wgwBgBxH6xEE^O70Qv#Td$>HL&}w)#ytRP9o}M$hl)!&RJ$2a zc{vw$gUg}f`W=*ie_1(qPUqjXQ1_8WQ1dwiHii?S@@FMf9JfKm?*MEDFIu_rHQBs; z9R}6^bg1~xgz9e#RQ|pT8^Eui^a|v1_DewN*N4)Ng^K?~sCIWj#qklS=c(0De(i>e z=P{_f{vGN$qHykPUOtzEidSW*{u)8WsTEW|J)rs-0yVEOQ28((%Kkl2<6Qw2zqg_0 z>oAmGfjq9iQc!j)K-sMWt}T!z{=iWhe4v^`WDdqBl81Z6)ND!*=p%7d9u`LV#b z0&1RKhT5lgK*jF_48mMRoc)?mb{iQxK*ggkRGy8o@?nge@)dRVYeDaR2{o?+q2iJP6^Hwv>^uy$f3JqRf2@P@V++(g?}feKabv?`*}U&F zQ=pzh-hdjzt0R|YD+)r^gy+I4`6b1$ek4}tP84CU8E zsC=0NHNS5_?HfNs`FkFAg&j*|^X^kKVL!^7pz`XPk}i*$LG7?}4k}OxUn&w!q!+6?i9X zQ_jh^!e*2^mUr`)4%P1hsCBXvYCT_o8b|dCjzgi=#Z0L2tb##!8a9RnE4n=C2)%U- zwLWITc(@DJh7GTE>wg5io${?vR1VS_f4qvFa)ZzYl6%AAy>mv#>fWQ^Sp`1C+f{ zQ296xYJ3kt`S%#qx_$}DkL^(V>OQDAor2nreurvTw5Hp?N<;0>&0#e-6e=E5q57Kz z<>!1WKL8cq$DqdXB2>Sdp!|5-}`kY=L4vD+zU0nub}ej1XR0AQ2qz%x;!om)vh~~ zo$H|b84kH62S&jzloRT?`Fjz{@7+-PhoSua0jk{@E1!oN|3xUhy!Bl^mxP+{T2OxV zgz{&k$upqhy4d(KRNm}^nzz$dF4Q2K_kL3cYTk!I*_mLR1+{*bS^at#r2G!lKJo)> z1w7R%`*^7QnqlRKq4vQSVO{u@)#q*G)^$ZF|Jp#+4~NQw8Bl)Bg^JG#6`I;bv|=TfkbByFl%W6JTvP6SjqG zVMllpO0RZv$HA~Y<>~M`_!`vsa<*{eE)LbMA5{H(;{n)*a@CgZc_bNX{$7Qh;91xP zHfohEFceOJ{o$KX_6oOlehq-vQ=SL4uD*kc#~CYMFlKM#;#mMHPF11usWsHR^fh_N z_t#{v;%5gd=AzAYgh;V0%fN{Tc_U`Y92#S{>+4m{{pD~pMz?@9V$;h zhMLbGq3$pF+PQtVCe*&$8cKgCl-;pV^Kh@#zYMhwK7{h~GOP!Sw|Du{2`Z06Q1^#; zD0|bO{Fx8s$4aZ;2IbF(P%$=BmarPU0p^FdL9NGoq1r!VTn}Y;E7bkzAk?@|S^Z_G@#X8}SP`ne z5tO}dQ1dYwYTVPH^5{W01fGJ@>)6@#a}(6~rb5m0DyaQ%8&v$>hw}FuC_hg@^?x2p zKW`Uz|GgG!{<^`TFb=Aptx*1a0j2*7YzlLAb@|i=YP{p2_S-p7^Ro&zg73nv@B-Al zx9jHmkB3^1w_14~)Vf~|m1n!4*4=wxv7{O8;r7@vMW2(_6-aQ1LknrI)>@+YbsrjpGKW_k+iw;`}L8T)&0VKLxda z{th+&1$wzSUJGTn4J-}&LFIiID(@4a{J7o9i=pE443xbMQ1*92`TaRme*XyNPr=?U zZrz~lg`oUOh3fYkrLD{Krof~gWD8HLQ`P0ti zJ)rCkfwDIW>V6al^_-9ZWoH_cAG1yV2$X-%z?yI~^x_GX52v7>1B&%=c~}L?emki3 z(bYK8m;n{X1y+6E z%Pv?QehC%N?EPH16zoj7ot1Bg>gQ>w_k}G``Sdl^da2Ui#k~uxLpcn!zb=I8Z;h2d zfI-UNL-m(yfNNh4Dlgi=CU5{$yBSdH^GPee0kvOz4Qs;!1Ko2$3n=*=ur6E+<<~)| z_4Fsyyf+@?=Cd`_y!3>chwGvINr74yv!MK01lz%9q3nMLHU6T5-Mlx4nvY&k>tc*? z8dUrqfIZ=7unVj(#KnCS)VxlDYIhq{e-A43%ep!pg9~P-mwB)PB<) zY8+#r>Ze2LFN2!5^-y~6nEX4ae$GR09)`K~Qx3{bU8uNqgW88~g<8+ALfPE~dey@NU*G4Pvg7Wtel>TWe zUxw=fok^z)P3P)D8FBa(%TKabqtjU zXQ1pB54rhj3>BB|Q1{F0q4v=bYzgC`{Cg5={4X1KK;^|gsQvOBl-<%}T>dqOeJO`w zZ}>8lpBJI-qlIH!JX%7n_kK|083&ueJE8jB2$fgwK>2?NHh_Ux*RCOy-gQuMzRBe2 z#`}%W!^YI_f{N20P;to~cH=J%m9Mp75Oy+#pyq7`)PD6S)N}SmsD2MY`F9Fx9G9W; zvs|3>ry10JsvlJQM5uAjg|hn;R9rS&{cfoCCtwg}AM4^=73zN21FD}CsCM(9>@A1# z|5X@-A41LRPf+~^#yLML8XH6P(;ce)C@6m>L#>>ZH(C8&sCoY0>T|?9e=0)R zX$4!rfl%w=9w@sjq5OCaYCqf$m7iZi&BIAp8U6#6AHnfXzZcYg5Qchhngz9f)s$%$d9EbXINCwY?@-tThN0s5 zDAf3$hwA@5DE%K{J(xYw`PUHEpga!hdFg(ryxsy8kF!wg=b9wfPc5i%wuXw+4OY&8 z%D2T(<9H1Q;X#-J|ANZ<3CZp`W)@UGJ75r=hiX?k#pO>+sD4AR5u61TkBw0N9)wyS zfr)Nj@)c*3gmEVC4DSr*M-U>}|@#_hdH`Acy8@K;_LK zsCAPL<^Nq!`TY=-y%ok6q59bl+rqt2d6xeUx9^sK^1B_Z3BdOm^``4k?djJ=J_Ak7?zyj?DjMc zhFV`YL-`qoidPa;TxUV~`4Ch;E1~jiBg_jwG9G|xe-ujZ6x4Vx!5pyQOt=1uLdCf= z)VM}LjWZQW|28Op=Nq4fisx1o>4a)u@ z7=*t-sj{@(>_!6i`huoG$>?uXJp2YbT8cf0(#9x9G^86Sbl zyR}g3|9jW~=Df$vV^gR&x3Y2%sCn!IH4kx6c|RFyymv$Sw+O1;GOJ$$rN0F#&vrw_ z>s#Z`Q0)VAoIF2N`|?owwV~Q~fbxF;RD8l#PKDB+1FOS_q1MYbsC+yQ6^~O;@ydO# zyWcm0vNsGWo)e(#%!IPP2x^{|LydbA)I5CxwZEN&>MzG!=XY&bhjMEegt1V0Hyg^I zN1*b52W$?H!OpPUJZEntl>JFie$9uPmz7Zc@3it)us-FBQ2S<``yBg2t+!OD=b0r? zer|_~;{m94XJBPme!h!Gd#L!tLCI&pcJOJ~9v*=$V5J4_d)08LaV&+3&+E|3JL5U1 zxD>hH{r=Pf)}{Oa)VQ`ojps9{eflhvy}}FKJT!q?7uP|}*EpzgEP`4;YoPM|095~{ zq2}+JMb3|kQ2SyV*d2C)+E4C=L*N3ac1NN7{u|1_G7q?YzZ;bQlcD0f3=V}mV0KvQ zLAS4zg_^G_R&H(V0+r8wpz>)rlwK^At_x6kRAjMh zR|U#W6DxOyS|5X;;yMOu9&dxP`vg?`wNQS%0kzNVhsyJlQ2w5W>Nnd%Zl20Pt>;Ft z6>JBU-x*NzvI468`%wMvH~s?UcY%jpoT|Yll%Uz?%kVHcFW15oil z24(k>)#q8_?3agXU)R_MD$c!OLl}aM;UcKKeG4j|et^wkp`~sg>IUmkPJ;6LF{piJ z4OD)70JScTK-vEXc7vrJbN$~0B_9tp?=!5t3~K&1Lao;ipz`DxRQrODyZhN-sBzo} z<@aMyao7#DUcZL&r`j^-Z&#@CB*Knx5mbJE4AtK`sQk*a+@6P^_LI&~L)n=H z6_@9%yw}R-pxTvt!sSPM*oN|5Q2DhDDnH(V(%TDV?^me2Dz(DRTY0GQ)PRa-Ybd>e zQ0>y8{C@;04zF4LdrdYW@OGIe*JQ&0|%leXj#l|FKYckN`EFd!gDr4wc^RU$JsKsC@4My>UQ|Hx4R()1drV1eI6op!D8@+Lyk9T2G~(cH^rG zHICZG0Z{fbpxWOHHJ+6we-&!HA3&|YPoVaNQ&4{W3KhRgP%N2N*-J z3*|Ie2fhlGM@OLIeGw`@iahV^Rffuk{!o71Y~>WF@!kRJ!~3E7c^xWld!e2aPC)G^ zdDgi3Y7D*g1!Zp_RDBFozxP4q%`&Kb+ya%q`=G{o0?MCXq4cx8;GT1e8GA#m$2+0? zcpPe;H$uhh3{?D!t#$d>2rBN~jiaFAI~8g?Gob7&hVo-ARR6o6{QnF}?+2)Me?qO- z?CV@y^FZZ!RjBwjg3{{-mB0O<+7E+@=U6Dc$;Nq5<9q_j&-GC8`vB_xa0DtYrC)UY zRfei>2Q|+_U?cc2l-|2g{d^2%?+DcR{)TE-V!iXfF4Q<1L#?MyQ1jFWYF^Tz*7IEG z`3GfZJ(U0NL-q5OmCrzLzFuEsTAk#y1A) zJ~RW?hR;H+w|%fD{0C}Ydu(!k4TS1H8EU`38!DcQq4IFG@m1qn#(mJ6FXI{58~saA z>!s&rcV7w{?}4(v8V2De*ccvw&0xOQ+;}=d&Fe5Izfz#~>3g8sFMx{Y<52!>g^Krk z#-qlIQ1e!5i?dq`O0NUddcOfGUg@wMTnuIZW8*h)B;_+ucCOp%;x-a0K5QV)1Jpi06DseXh4OC?)HqK-&1de{vjsZAx={D~ z1gQOK0o4BS3TzHvgSzjYh03?Tq1qSU?)HzCQ2uv>E#Oe7{be51`dth)-jz^#8=?I8 z0BT-NLh0pv!}(DhDh|z|;@btP{Ya?&DhVpClZ>;V^d5kk*B7Atdj%@5zkpgFfj3?J zYC)BIK&|H_sQ%_b`SB=J9ISk2fLN`EkvUrDeroCAY! z3zYrCQ1g2V%8!ds<1D+=`B4{YzS}^J`v$1~MqB-4DE+&w{3z6TSDAbtl-;9H^K#kh zTfF7`8U?k_Oog4`2B_!T-=X4D;ccha4Qk!rV&yqdemw=1UvEO~yT_sC^)ghRT)WH7 zLkp<9x)CbR?tqHVlUDya96;fCVlg<0zy-J6Q+is}5z64cY>s`11On{2-5~z85 z1@?eDVHKG7J!iKbY)AQ4sJwg)YJ5AP#``0b-$mbd^W6x_-|kTJGahQbrbFF_=0VNF z!%+FL7Ha?A38lXu%I*(Pb_;#ro@44mwZ9QcFAQaO5|q8Wq2jg-YF%uEy8rBh(*F)> zzJG)2FV}8YUk=u%Tpz04P0+IogOu-v8t*EoIPQh=<1Z*X*X(ioP+4PDsDA20`QH(G z^ABZb4pe;C!`$#wsP%XlY8{<~IpKMz`@-MGYd&;#3q#2(L+RIrYTpWK9(x#vS$!;& zKNGDy6DsZtVJG+uR30CP+P5lyu3@;6^4(DTL7h+RyAkXqIh1@aybpd4AA_l%X5+shB`-e9 z7FYzIf~s%!dA7g`xC0J=WA?lC{4#7y`7qReT>1<5Jk<}Xd^?nX8=&+~!)~zF0hh;# zuqovSp!SD%pw{78sPPp&m@P01j)toL9x6`?9m*DX8n%W#;nz@kUE{F3zxIRuD9?b` z!F^Eum;ch)y&g`c{4BfyUi+1^I~fk4{1hAp&%-9L@7Her?tseA*--hh5GpU0LB;b0 z<4)L^@&Q;4=KIFwb3>^7>I!qfeo*&=K~Vct2GlxPU|bE={%xqdItkU^KT!E!@LRXv z)q`4}*Fo7CWAf=x<6i=GpF9TT_s>xAx&)QK)s8s7T0qG=S$Qn<@*8SDoe8zBRzvM? zFG2OU8)~08X7azG;!*ObTaR_2%Kf42#X{{Llc2_RFO+}Fp~n9_RNQw##rp!({+Q!C z7smon{RN@cPfOScPJ`MH)Zio_wr@bir!LgEnnKM>FR1=UL+yX@Q2X0dDE;|xBYeopeU3Z( zLyUJo`LzaShntLBpz`%~m<)^l;P%_QU`@&|Lizgz48k)|b_$(v<0=Q0kCmY2qqfQ0 z89Q5j52(Bw2<7)EE2ly2YcrtYGY87vO5<9nJl_O!!L3mH=}s%}gSvlw0p-^TSRVcc z)vm}%H_s(tGs<!sICq4RJDTvePgF<@YhPjr!%B zw;|gt!yE-DXGi}}&T5>Okq^h_Fytj@_Xg$l=$EE^oa;pD@*y7wc?=J{hK(u6FH^sU zQ%7&?UXT=Xk3xZe+U&OhNZqEBD~~8tj&WI{qIeVw4)GAiyyR-WsZ;475hHRb+lkNg?R<+!fQ`6lHu zoc{5RUEBqqrhY8Ez}dz6EJi;~?K(H|8_;=ye(G?28{@c!as{Yd`x5yhQ8D0=BXYcM z^7-h@j_O|uzjE^08u$!5#o^Nv^d=>sZTK1i6l}=ErO3 zuWFV$3<*MAB|`? zg!2{ZzkxbdpridzM+WC~YctpC3*p;5U1K)}`#*45!|X3b{v)!VsC$%l6U;wU0@Elj zM6TnQ=~u?qt#*AU^^b79mHOK_KcM`Nlyx9a$5tWi|H4_3vlr*%oI8>K&G`#D#b}ck zn|q<2X@m5)i?bzqHLdSS=+39U4SN1Dfwq%58&mfXx)=Ql_zt?aP}dFC=lqT9Fgmw! zJ%>|=?pr!~Q@((W_2`^M=Xv@(g{%_iGGsc=a%M;V9Grj;U&2pm^C~)%X!DQxi8xRk zncVzH1&*TF_z|5}T+ig(K>eLCkv3g8M^N95^L?(DQKzF3*WYlx#}xy~T({@?4D#C8 zI?VNh^zR>^(!MQqZ=n}NIM(d=^>vCqt&QtImbPD6kv*EZpY?GY>eT05p0Pchys6d&ZEsC*bh6;MYSKx^=s(9 zf;1A9kSa4(hUTjzji2ve~c(?b;xFjdCoUj9zhgBOFV;j{WGQ zBJ+>q=vL(PkJ{>k^DX*)AGw}&rS}>*MqU~KI~6< zHfJm9-k`ja_Jb%-G&_g_ZS4A0c!~aW#L!;HIoj#C0oLI>Oa1fazn0mFg(c5GwKH*yB=S5aP1$bxp;>19P|68C>x8Y zYl(lKVCOrN$HO1Y=XlyYP5Ep1fZ3dl?pn?@X75RCbdIu_Vm@7O^%JT87TI;Q&xPJb zt4AE*bw2PleRbu!j@ejbee1nS#|Xyrwe_uX39g@j?JVY!)#fZnyA4scB|pjeBl7XI zX-Z!Qt&g{n??zS-8+TD3CuNTNtbQlFh4L2I-1;dFXIZ^;AH`mxF6_9@coKV)@Z&wx zok>|oe#)(A6QcaBC*gNBcpJLBE_>hKOdQCEZ-R>mc#>jKJ)1y?b2w|+RCTQ<|x{%qiz)Cid_50&Bz*{{{pfbP4^J8$2p^q!_?(R z?+mO@#Z%NbHGS#*V)`>+f;GGY{VL4e!}u~9=7x2Vjp8hWUJYxXpSl&4b5nj8Kl-2- z3vCGQCMuigOy|_`6gDcm%fQXXab~YIb)`6UY%=P)rM3ML!&NB%4qrw#o9n-6yN~OS zIX7@_rTDfc^-83V@Jm^uA`6lt?jS0%|p!mqbquKtuD^^1-u7^a@5_0y_}qPBfE*S3hf8c zeh+m+D8I?+ANqEpW1rffvy1EMj4iu#t8p^arJZEB&bqafG4;J4`M z_|n)JPDJN=>iwgZ)%}SqL>~{rft<5A%X8}3Pai|<`h1kXe4Bg z<5z4y$@w;Q2RUEDhK^12y`AfY)FpA|=Gv+Pn`nQOvnA(Dgac$3w!r2gbp7LdE^bHu z2IpOzKXD$z?ya2nbH2^l3jG?i{}5e$quOEZyK_C9>rc?pv6kz>^mho|r#K5caUd_U zX`CTsI<7~*68-2{O`A6E()+hGbxmyCccOn2^&L5@)BbA5^CsVpP8r%YrcHCs;buQC zjYeX#EOoo#Fj$!Sf>z&xb~QqJ5nCkb%CA zdDv=0U3;_L#pL?`WNvP{k0Be*+1fP;ltlMEvs;tv7;NZ}iEaF|kMkLmy$26aev7(G zCi@aw^N?MSjlT3VpYjcy>*()sbpC+XaE_-=M-y~)?6LN{Xm^KQ>wBDzyU__^qX9yTqjx|`DnWzSqb&S1iy0lF) zSy${fHTimUrc&3R^BmU)kXM8y(dDO?zzTG4puE`hx%7@Q$X}v>>_rTqcyk2X6~kj>`0G&=7f4^i#} zKe0B;u`v#Ncf)jK4{_!~ry=J?uH&g2L;JSoFKU5qwD*smCcn@6J4ieKXolVkwEqP= zmAQV$>IT6Vk$qw1MaCPj5k|i=1{!i*jy8qRdjNg`+i~hRjs8r|t?1@JHVfU(lt*w~ z-~4D{bS>CB@beC2PomQ;YAkWsXo3CS$hw(*wOM7?W09BV+==}@=vIYKaXyO9m*~97 zIh1lSY&4|)mM9w!S?5D(Uk~}Slq+$DxlT6!{(+S!--C@ywAazoY}`tDF7>a&jhqSS z^n{y{HHRVkyqiH40e+9{584jqIt|&cumk05RY$oV*TZ3JxX=2( zmVTyk-4PufPr+M|4X2+i=!Lny2gX7j*U`rfc72BOec016mve&owh1p(Hr8?efxRxAui{fj>Q*Bg zfSrGktv20N$bO?-7@cC~dugkyhpvw5)R(~iFs{=$^WeuS)4drsF<-l*_p-GagkD$L z{6%>!_9}Ayw6&os(3Li0sJmT-sH33S8jLOfIH>+9ykml=&A$iG{gb+CobMnzfc?MF zId496<2ncO0mz?4rz$>VInW!8jTaEkg-=lKg#HN50$hKF8b$x1d)C)}r6NTrcI+aRJ$ToUhVvh;tO9b11`ABAO$>#^wi$5#4Sfb11yzf-T{Ps%sZ?kDrrNtu7@r%~tym!kid z>Hp02?dTqdM`)*`KD-Wpj$o@Zya->U{ucDAz{95Jw22)T3pw*pcP-o#RX>e3V~|~d zpVH@DaI^KDj9ne&IDfZmm5ZQr3R{&qb$o`soXFal-A|GIgpKB2E#EHCi=q5HkyT6q=qd(r&}-bCGAf(Y+Vj3#ebhbt$gP!B5}-bWU)cfc__3 zzr^_=@-xWp!2W1B0@-@5pG58-ttp>Iz6;Jp=N{Vkqw=>XopF>0MwM%!;~#I)PRC}> zVaVG@)k$7~a`~vXT44#{}@Ky9`qkUuM_fW`1C91{wN#1ZUXgpP^gD) z8%`aK;H%gOb3Fn+$oa6T{kki9|9)zE zDlDdM2s$6&*LU)l>zUMVM?Q;d9o3LeroXbt8dKgzxo(t=8R%U@c_8dzZEB#G$8>%` z|1ac6kll!#{qP#~1$7icb{+LOIcp$)!`fv-t|JHi>UbCV5?vsl4wj(Xhc-8H>ga^t zRO&h~{$Hunk;<8ivW|sjXCQVua(x>1vbOuUZh$OE`(&<^9UYitE3*Ud{Cd>rZu?xZVV3(DqH*Cc+(XD)JPr55oy& zrvQ45sCz&SbyTkvmywV#Dk+p0uALUFA8Z%jp?a;@a9T|5v~~^SI|OT0uay`|j~O>A zC7fD2t$OvKSE?Q8Jg|2#oD`dq9G{dPOiE4<#wBMY#RfW$NzO7mTh;BZ<- zg6rF>9U4wdk$;{>Qh0JOE0y61+jtB5TJ86r2=q=EwLm zpT)3zhzRI=deUu~9paWc9-o1W-gHq&j8Ag^1}DXbCkHym5#=BOjL{^fkBd(Wrud1K ztfZ_LOi&tng9uKJC%{R`!Gz?bu{0YK4u)gn(?eqt!VLnQ6B2X=h0@H;LwIgwt&!7*9}UVA1?s|8DuICdG(FWLdx#}Z;My`|=*tVP-N z74~x7v!brU!69x2`+GAOEqC+ixAKCdMDkXpoUrCz7s$PJnkmnc7*S?Dm!i}%Jq(VS z%DA$mli!IO2c1M>;X2PM53&KJWU!X3nHMxqG1i}Bza}^_Bb1aLpFTBMi?pa6OjI6d zFAGnJ2^0L#q)>cL&-glcCD(Oo*x|!!mr%|{?>Tk&09R4pw_Ki@|)L_l(wcP!> zX2<`tjdqJ*&30qBt4H1F+cg~1;eTkXaKt4Opvjugexam{ICf`-k?Qu3|GWFF7KUUH zmiYgl)@--_=JvmIhI-~5;(u)5(m>ne|5pQl&;I{v#0}0p4Uk2tQ~yiT3|4^ct=>Jy zbMk8X@oD3fO6(dj+^aoZZ~6WgT}wMpH*)X#FZxlw;FK+!xMb}##M|#JEiIhLR_Q%? zu=~2A_mJT(NpCJ(4Nr^ODD;?_8t>iVRT)1vNki$%E}WdG=ZJ_XCaZ`}hPeBZr$O=G z&73gmK`s#eTp4+MaeF?yCmSQX6Rjcx(}PP?BQ#>!U%8z`8ndgWr!$kXqU_()P~-s|^9gJ(etSO} z{_QHz*}t+HEur2dct96=PG&iK*TcL~2Z#EPo2tJ)V^j5} z5xhP*bplBeC1Ep067*~Z^+@qw zT61ghd(L7NdFC6`l{GH^*fbMEsT1U{Z-Sj5YH-BI-+?lvS!N}TZy3ZenTKj#5v{HF zV&Rtt*}H>P4oMHCXZUrIJ;1XbxuZnqoL8fz=X+>&lD!WdR|{SJsBvFCaIP%@;?*%V zHiPx!_2PmY>BtX-iTyXlEV@@L`>5DuwRwf!81n2YJ2wa#>^YMzLRK&ifnOS$g{ZX3dCP`8mrdV z5qFKD$emw?{GKN(d%dSR?>?q>wbJYzl~oye_a74`zwjZI4{=&jsbSrY%!+pp@xzpn z6i+O?Ezp~&dhStfly{HTTbQ@+@-Yxg$<8~sdEg>%c5Jtq4}3vyUfmO_O_+B>&6pbK z8cK-C@IGF3-XCnL>0A$pPcmk&Hk%N0FRM+TsR7Z1P2TW)?qFPhYCL9aVQh2>b^plMV5{LTSn9 z7W41=G09WBtV&Lbi%(7TKDfD8cs(LJvzpErSMMIlXydBt$0vDDRzyG!=vlWbUrSH^Y#gU3-Z6U>I=}AumXllpx?}omq$>A|+?2q1~s$}}A>NW7b-`d__^606&LMJ%DeU$V~_#27e(srS& zO3pLyJFaiqoA**tZN4Ig>kq%=b8oE_yKL6PRxo<8? z&D#y56y0WEJ7|`k^w|`F3|}z~Zm=#TBCdGF|EixE7}->;y!_=37YVYqkI2se5!2p{ z*tZ{%>W2U=Lm6|Uke=3@^UwPQB(hJM(A`t68gr|PL^NW^Rp_SW-}s99d^Hb4xZ)yk9c-oa@aS8+3xc5nXK@HbdU8F8U|}&u(qCl+>0>JUTxZqN$ueMY^sR3pG_l{BHzxk zWQ;eW|EP0itv!}WKZ!BOQhI!1Sa)sr!Ck-n@v%xF$9486Gv=LbLK#D?QS ze7(ofa8l-$fur{0K%_y`5{a_;-ybE^8Cwp!JumKB5U!jqSKJS*nWBi^l@&uHzs7pX zG5#YClj#gcen92dIgP@l{1rpU)b?iJe;s*d2LDejGI$=)gP_);|E%f#uHIGuMt#3g zFeJe(w7qYoP7rk+S%!K)&HP!kt5$T_3!xr80)E-M(fGG9r}JNC$8Xl3pJy{4vs^RD z{`Ffzbc3wDNIi4*{3pq1eQHT?XI$5r>Q|RW9!De9{x7-%-1ECL75(wptb56Fr3=IT z72%qNyx*j=-b(&cO)w)(t5%PVV=~gyS=pg6Z1=uj&Xlb%L zpIzP!HoD&|FO8WEyhWP%jWud|{I}jLM*L`9>1br9c9z|*>haT9_ud19|F;F)%Up+& z`WeKtr`L-26F+C%-&%N65UKQnpCz;GFETP?7JajK?Q{ckPoC;RrD6CM=$gSTIw^+k zybFbr-;^ogoqi7TFQPtw{#z8xRP#T3WPVqQsJkbf%x^p1ry0LCEzm8bU#4Rrf1~4h zs(<|V^ekT$uc(MmOUqEh@R$sKFVzR1Zte!?GZ-1ARRq0H##1Bpku~Div(oH7G~A1a zFOMu7Uy!vr#*e07?F-m)$biT$XdAod8k$YD%nZL1R-bgZU8NNy+Zk|8Uo%D_TS(@oaZ>rwT>AT0=rUx^BPs}3r zeaIq=B*WFE|MF5DXevD)qyIq8L|Ojw&1BvV?ziy@Swfg8xr*nRm62YZC@QTzU!3%c zKaTSq@HaGh?>iE?>6+5NCf^ebc7JCUt#f6=(7%!-%U#8qMt&Ff`;Q2M5sCjBm^F#M zxkRTdzePm--9$?CjIi~^hTS&>Goot016^m{XrdG%v5o%2H>;0)7gp+f`+P^=UZlzs zN2J~jJL<*QH{{8s8qxIUCECd>i!|a`dek5NnLY3GZ)SeDXX!N8iN3pdVbIp;( zlrU+QKmT)z{1oZ`^<6~Ci`&1Z+5O#>b;zj9SNHhEJ&-qSekSm~!n!}c^Pb8S#nfc} z{?h+Dyv#p`u_#3R&io=8^>sA*FBqf6dY1FP75clcUfL%}oS}XI#qF!Wl{8Fb)+}#q=BTpK&31Md6SvGTiJJ64^-pjk6K37roUQQyv<3wA_ z41AVOoY?Qmt4d9t>fJ)!$K-DDX*}^xjrvJvuZ?;{?3V2PftLSU!@r)7>?X-da*C`Z{*F^gr0=L+W=E-n z^=+SwGEwyU_x1&Tj_9Tz-ZOs?85iQOpd%@-d9>eZygs7UZDDzT>B~E`_h&SjsqPjP zFZaso5N`{SKfV1gHoV8I|K8I6bg#D_i}2lwG5&7_!G`=94S%9n-~GWbYbI04TR8fm zKhn(mvp=_>Jh^=?^IkavS^hxLd)L*@G+EEANnY^CaQg#{Ox1zjrWvs_B=Z#{QwKBN zJ8i5!7e$_a+!~IwloBF)-ukbqG2S_YgnCc{aTVT>r;a?`yw%GUE@c7~~lK!Xlu*?ezZf|5iv(+mTJtaYuw72e@ zSCs!1Y?rE$hodOu zzjwu7shD}Y_1Z;tZm;yOCmm;uyMiBQ_vZC4t0|EI=_>P~$Fmy!l;a6(3vkBW9YniC zOw@RsG&5ndJf^sYQM;oFxFKh@%e>{g=R@5$8kl01zvA>{Y*6maSPoLSYW(zv#DVVK zpA++6C3wGjxl-iUPgfknU%7Gn^0vPieMTS4pWL$Cyq5m{_wU*i{*c{mD)uFp(ePIR zV*}ljygyW9 zsINcQaxwGc@BW}$k!NYSj-7({C)xZV#{aABO?KnDvb^6j&ZjtcV3-0-+H%#Pp!%GK zoT4nH8Y@jnM)|{sM9>U2NixV{1T9O3XZJBKP!m5xj&i0KyTAWxc5@=ACi7mv7US%` zS$p++?dyfhsZXlB&63}I+C=Ghf5?d?y*L+G!A`}##xMWEpIagb_IFk4YO172`ssX)H zqoyZUG==fotHdd?>Uk|jKmaEpdghA^6R}ug|Br5pHO8CBAzFn_?3v^P0QDqjA2s_% zTa~7Q$Y}3t_-NY3OZ~nWoKrgPIQsx6jY0rG2tT`Ya?0)v**2h%v+42$c>O8J?t`W3 zP6+-$EFA`P_^9hv`jXM8rlI!A$|19)$aS-ocd`yCovG6pWVsfqh2 z_iOHd+!>#{Jt$h^bjpCEGm&c~J~ggqd5=Gt?u`;xx(G*~I!1TGdA1xs!^WH)=H~@L zZM1ZKv!xRXd{5XP%Y%rahfOJ-3s)tT5O{SaGX zYqY7XpFAD0TB_K>rk&;45KeUP_LjA{;ScEctPyWk_7_`ET*LBm$cS>ONG5A}y^kk^ zki8#qW(Y-1LNMY@u#$?a?7-G+A9sUmQzVWsA3x2py&Y+KzaTM1JC1f7>mAI`xE*=* zddIy5TzbQID!lu~nO#jYDMFY9Sd{mvZKj5l7>vEBXW7dLv^q~!`@*fq5R`JT++_>3 z@=jQoOh`7*(8cluhbQJdkLD(0@@`(6y>eu4Y4tTuY!zP_oiKWn-eIa@RLTB~>(05J zud#wxy^#2!E@96_fR=gjlD@Klu%M0V;5FSfg8Mwx*VQb10Q^ATzx(jpWzKZLg z@&3vD4E3o0HYUn{L-EaOO$Lpsz(RL3#18;(d|m-M<_B~C;_B!^7Y8JC%Ja?9{MQ2+ zemX|O13E8KJAjHrX5kkuIi?Il#pXH_0g=OfDbA0F``2fO7_8adZ^I*!N=Cs2vj?V> zK1V4%ZasMZ1F z*Djq@?K*wi6-X1tmjkXtcGv8|e0H`vemy*xpBx>p#{YeO{(puCfYaxD$0%G-52r%p z0f+8_yR#4P4Z7&1>t^o6tY0Psx%>K+Je#S=(q1jbU-|Ld@KAad5r3eWORukmnK)Ov z8~GVI+}r}?$;~PXAP|&u<~J~b70P``Lqe9DYimU~?b*re@slk^cYJI4FE+cnxD1)Q z%NACPbt9|?KDd@6)pnS z4lBzZSeE>1J~Pb!lR45E2rn;Z=N#%YaKX;-5C}ZtOmRmLKABnqKI5pie*J~ZldeUu zf6cARf0-q~?_Dk#*e@sN*XQQ&_{wt>xW7b|Q2+XsFlPhW-; z^yBjCq9)5#8-we^#ZPC~oQ#J>%k><#Ppx=*CyyHH$sCSB=nJ}J$3T5jif>(NSdVL0 zWh()iXc?Zy%)Yfy;kL^Ndk_;GzpFlZy7kd0rVqfU+9@zO>k3MjA|NMe#Y=k}q4ySc zl<)!Na#7w})a*_W-Fi~X@VqkyPxkuCM6M(fqdaL(*QDx-wxztKq8DunZSHXys&{}hI>i0NxkD=xs&m5alnm_hYS2Z zY5ag++>fq&iHNa_*l117b6c8>I0%hTNlBVP9ObgTCnEb${I+?^8lKhYK>>b>EWLjC z#6pXl$p9Kox%JqoJ!Z6I|go1AGPzTHlZ9}4G*2Y4oW)_skB z9lj=}RBw_26w>6r4$s*^>9TcQ4aQnpzN}GLLNF1x6>Lkqt)%fS;V;#ud_XqmQ)9un zA>l^zs&1@g{NBY+*J4myNmA2oshibUBm1@J%TSlErHrjUspc+ULp09uHx{9H(SoA@ z1=5U{Fc!LPC5HrkJx@&*zeC9L41+5!o}FB+xYr@9w&Lc(HBvZ?#0>5K;p!FSHPJd| zdTc^4*US0WYPWzT(3n64_#_YuU~4(sJ}J(_%|_pAxrsjzlCzaf<&3b@%7G6&Mu&tb z@qNn1W55}2|M{I6r|q}aMg9cx!H8enzO-NBVpb+K3=hRuERa{Em66;>1)7&bUs#!J zRx#=&i^HyfDqMcmd7}xoNm?PqJf*{V(t=BQo>?TKW@}U_oh-tX#HCc>P9X-bXZdE{ zNY1+93-RP#{?#-EaL8Xhzrx$YMv~{lzBu-DBxGh>%)#*Iz3-k1u^Ka6IpyS?hevbN zV5aygqYGJ-9QSQ_JY$xF{mVL5!=0xb8$$|=r6EgmIzNx{cDTJD<8p5-xbAsmm$Va^ z6vew7M9!;|1F=r)t)^V?c*d_it=$U7j9PrYh)c(h#nYH$8zd_}{QM-6daPhA~VH9)3Fin=%SM@)&V^ny-%OXQ~2Oh zRX??V(0cfNTBYQNAju|W1M+etm5V&G0a^JrF%fO6C|)Zh50dq&=2s$`c6fbdWU6a} zJKmE1?@4%k93SF5@?&Rbho7(*qJjAXbxZ>zkz0%%rPMRsXenP}EEVdgBybp$sJog$ zc?dcB7hhifpl5uH=wqv8zx*IQLFjoRR((bTxVX}go#=@J;0}crcJoc#1efU@5B!w= zQwec|9jc<$8wUv%V{9J*K% zrf8&1*&~VmBG<7-DORu{&7=ts!^;Z)@n4imCeHq(V!<@Ci)9;3--;Lkz?!9>Ye0VB-@l!lTrOkZE%KAsO zkJ|U2LKER1VFFdH^gpzWU8$ArSK<%*Xn}t%!4IvPvNLD-&&phs&ezJ5d+Vn1TH~gD z3m)n;_Cijx>iJO{e4gB!s)k5wMH{05-@iafN^FWXxP4bXtlkx?d%=IUz9P9|`J8`_ zL<47zjkM#DB*{j{t8}XjBj3wVqx1cJXvti!ZV91l3PPIm**teHB*p-=+}00r=ORmg0| zmvZBdl@Wp%U+Ko+xln`B&crq{6TyZdS6sX2_NYVh@Humjfkx+z*I5}1&G0L_|*VP-dP!NmmF$< zF0HOn-6W0m-Fxh_DNHz3uhi;fl8wcjT^4A%RiI2}XAVpHgA zWDRy~7Oz8$H>bm-YmRm%z5jlzq-55GH0#K)d4nI>NUooU;5h5T3RUQW`Wv@oTQF^= z0DVDOK8QTSiDoQS5>1aLJCBTZlBp0(a4eJ309N9oT*aI1PZVu&&Mg%LyySmvbj&_!ulLBTIG9b~4d?=X=9-&zK9 zkKHdls%+dXGdA!boG#(*h`(Vb7zDFA!YE&l$OqM$6rT>F&2}1OS_ZS)rWnAGQ&O^G*_kQ)~|~5_}!!7yG3wQ-(6y`L%$rF+SkK(5t=l9EC=Vh?BDTE+Fk#t zJ&sK0mpu6yXET$F{W+@ad9)KRSoAVFtpuTvM!|DhvB*;Z9H_L#e({71oftJ-2jE#k z4w0;%IhLvx@M1;uXbUAScPH3r#Wj%SLpmUDqB*pl5+X*^BE8qJK<)4GS;wk&RJrA5<5e)F1^Rw@-@!zOT>-4Y$Ae;**kT0*AM$BFHHVtXyV0QiqDR6Myrr zzVvuLDl*rn;gu#+kb~9mo&J@fvMl}9y5|+ypOg7V_`pc1bJt=CF zFWKu+JE(#<&d2Bj`9RhJQiCV9&plMLWTX+w#GCs0JURZF^kRX^u&MFVgtVHUNYt%? zrW#}&LpfK9Sqnli-H2s`Wi_qe{LzT*_g)oKGMRXnzh2({?Nd$HZ#%)Yn}-QI zPu7=Y5iJ>&81VheD?I6u7xFcSp#Pg>yn1fy9=n#qgFOJ-o1)S*$JvxCigKA&Ox4o;QwYBoW=-W_M9Cl{<}uiUL127edRs+c8NZxPuJD$!Cdw#hsV4(C>xUP^ zGetJ>e+#OV-O9~bgWIr%XZDPRS!g_5%Cie|M}KyKa$W)8pQL^+;4sr|snAEcXXv&B zFAEOl?zKonw7Fmcmw@l!aXG_8FR9LinlP+YzI&}$LhAcVHu?lmRtC9zrpqn#uJvGLml zhS0}GT45-xv}+$D%cOi)3Po!|3U|ZwX3Z<1wop93o@H#$kT0Chbh5?}S?e!|&{tQo z*u^HvVp`YA7GZCUIIWXPm0j!mX!f(q_y{yQ8Fn)?mP#O!4TBmGLGs9hCi;w`kqGj^ zG^a(dYAF)Jq+&<)rkNo>mMYeGDP$W2Uuz~B(f?G>41dW;todUE1(Z}t%_`nXY^7ic z>ggn{BaqA5M6w6BjWZCM!Mue_3*INK?d_%tUPz8EuBiFYa)!{>3$H))Q09{Z4S{#P zZe%n#s1hpSs11|GcOMsKEQ)(3~a2D}n; zHN9%8N=tTGIf98o*UC#CF`|Pkh|`>*mQ3#qy(O{ECWK~$LcPMI0;KGj=-ejZ{E-eP z1xryn=t#pHK+nv}TA8p1$NW7a<|}t(e!1k^IMOI$D`dw@m{`kg-rpZuVKa&Rey;fG z;Fm6dMfm26XUm2;2n}Dfx4`VYZ%FQ?{a%y3&3x_)6B`aqJtN>!geL3gbB4$cx z&LtEk~bpe!6>*~ zaE)(LnbmLyt5yz<@+HrlucnE}r0IR7Ygl@~hK|Dd?mkAd@*#+e>(BH6gShA@x3oN1xmojgFiS5;lGh4@%nuxKc*2MDeg=) z#S#cr&4%bd9PEl;k~afwq~Qi3hP?ef(7yNR#lXTC2M~Xqq1I}_MTvE37Owr>OnKR* zr<$&*7dW*|d1_j@Hl<+0uCcoky!^FF$F1wR)bSdtD&yNa$dt9O%_9Ta<8=!r(o>LqOe5AZk zmu?}6Jr*7=RH&lkj&NMnw`ba$!T*d7nXC#|dI)mqe_Yoq{}3w15y%`JyewV= z2}JH=a|>-hirzDuHr;%F80v`P`aRlJmNvI^RhU}ah*Bik>NxPxR!hgSXdt-fsdbN{ zJ#5%2K$6T8+)PketZ2#0i1sWg*R>{xrYHL~?e7hp&#GCqv*sH9F$TvGmr=DCNyPmu zU$umGE1^lhU*=-lAz6MV?U_5L znS}1CJK4Cg0~(Q80-98GujNY&KxyBUuVo!8?-=7q)MitYHQZ-zLUJi? z1@-!u*URQ^Ebfcz zVf>oq))(Vf+RVr)gY*sbtG-McwlI6VoS8X?Kbw-Y3g-K2W*nBisn(XSSM1sXsx3p4 z91z_Uw3aLIY7=cTS1v0QC+O-qnneqvz(V-G2xNjNuN5M%h=P8HZj)7dSzypx)alU- zrp@M&%Wm?!fMBB>ss0PG>6kMKS37+E1a)iOvjxUltcrfDkmgsjgppe> zOj)=r$p>2Sx7K!*Msi=}<}tL~D3+nH#ULwVk#N+bqoM%eIn5@`fGT!@vKe=RdT$#WhUbv$xiw z_PCh|1ie^}K@-MtH8H3af_m7aPL<01qmW507ea!k01h#l6ZC3Oa08QfL~sm)~>7mNYkk`>F+ zh{%?ekUTOrZEn=a%iHWz;4UB*C2wzd_FKJ@&Zj+out{cn0 zE^NSQr1LIjy^D+z=}l^j6mfzmlaex`x7ii0KD9BL>RRk=hY?-Q$~bUHx|6_F zN)`1K9J)3CE{&XUs_mwowxqUJO$fT$_3^`)b7#(E3aQYJYftgl+?46#@=f>BGG|MNyCox*r#7!T+4oT*8 zFcM((+jJf=+^&qVU6HX&V#OF9>iAUo%kCxhicElODG2e(R$iE4LjG04@;ZI#2m4~7 z)F>^OHP}x3vXv`)xhqhvUGBE3b}1rhZSYy_o)}#B(v`Nu!tCg|xIMqqo{SHBMMoM#Q=T9WPP5~X#3kDD}LTi2&)&GKdYX`NyksAVQC*tFaM zK|5;Wk<;t3mD>moG5)1t))o(x5im;+=+TO6&!LsW zbHA0tt@`>qg4ek)83lq`11}b&DeK|VArzMWP_@)fSjsZsoKCQu=_gU`QO{GID^garPoPw zh~=1*s{b-8mi-I`terNmbLGZ8%k|%(^Oh>Wi-3~i8dXbq%!!fu;Lz){c@C3dwb1}8H)GVWoZ5gm>%W$9jMbN{ql+;V!q+P+ z``$LS1SgbXgC_k}Rr&e+d|zsFMB2P>g)*10Ps=-2CmlfHyDYj2?-iC{@zi0BP{9<5 zKTZ(qa2d);kp2=zPrIeCqCmNU9C7^I4ONZ)G-Eun<%(BNVbO#GnLT#KXCCrTXGqw^ zUl!{-0FBaVlmI?0l1lNAv++$zFfLb!{B)5|)4^RDCqaDxnyCeMVl^kcPQpxiB#}zS zsjFHGE2<0zDPkv|vQY3p2S_eW9G}*VC9&fW_nAOW8CrB_%(#fCS0OnD)>>{01=)aI z+m?Ts1M(jU{Olmb=C&Ffh&`y1xY*>3m2n!8`6H-ll$5LKba>|IN#e?qNRNR$PjkHPN)DyOV zTjsh~U?Ye!b}A|=Gu$_&QU$v;llMj(-3hyk!8Kk0&Al(Lh3wBsj~ z??u_9+L&~aSfM@>WfSwckdGLw8?pifz;uLAHy^9v$s~P71~){HwjHyQ2E%y*fZ`r< zvxumt*vfKdD#dATE4~MVl**cAg$dh)!rfd)s5cv-BV0SZRnrj!B6J;^p>MqHimyRa zuTXB=C@C`ERa&iSgTxXrV;Cso1k4b>3g(;@YueZPwddK-damNQl{(`)tn7cUUf;si zb2_zY6V0h8+wq|d1+%M2b*TsuLpI_5Hw}T^t!6@#2$) zmmnzS$8K9?UhJ*})Ee&pv3qOQat)PP=W+bnmNZ!a>Efpo4?MF!U%gU1{gvoaGe?PE zDjUv#&5#lgjdQ(saELIalrUYj{x;Y&F*soR4;*5*Cpc#O83OI8}Yr3gM>y@(#ikw&XW^R*M>9M7~;Y zj-0y5U4@#wR64>)xJ1R}JT7-O>aaX7w^SAf5ACr1l4fr1Ka1VCY*jgCQ6No=R?^bc z_vu2nbdg{@j;MpPyP>>Th=-w!{uFQ47rZHBmwcI>c?Y7gI-jiw?R)s!@ZwUcY*T>w z4T|w@#yKO;6kLCD{y&^V_UbsDIIwhs(&=xdn>YY#-*tyu|JgcI`cIK~r zTy-`-rB;E?zLED^&vO7^b3Qym^Heksj1Y8x>M-G`f*YxY#1Qwkr{ zUmLcM1_&`?{}zQ+(SwIu&m?ye_heGJ=*-Fri(*g+;}I0%yTkms9A0t-*Z%Rz=|ZlY zi^ZjWd$M|Py-%hEXU@M)Uw)X`(-)@cW82W(D!S?qvn#O9(eT6EUK}{LaM1S3fZ*xM z2zm&KB1G9Ur2`J!&^-B+_jpCtz;9dj#@t8wIGIS z6j73=Vw6gqLx?QxzKvAsp&gr9TUuLC6t%UgYZ>hdmDkQ^z^no5$HWhAlAxEBif~9y zK1rVmjcmLl0)-Pr6ar%Rbv2tcPH|@lwLi@eEnDHShC>u4^MQRWCSZQI^jLYZH@2ht zPC7gY4wn9Jam*WX0hdFn{DzCe0VEC74JiU?09@Bv+CK_8#K9m!Q3y54t?)yK;q*7) z^2y5{?mKPVi|oJ=Fk~gAFH;jaSWaZHiCi^sn&!i`69nO=;pae7!?UXkU7*{3c(DBv z=wom1jDK*m!uFHp(aFK~H`hnY?dKOHKl^U``-pzAEdqCE{PK%0Z*PC`@7rJA9&dkf z=Zi1@pitG@Fi4B#*^FaCrN`*kubJ!i^ZD%j&gf6fl+-)m&%fT={lk-oPj>47Ztr~Y z2f3ZFg4@rDC2WCfAaQ;a=zMHjQ`hHLFa!u z{wo`JYx&71{!R7Vhl!z=y$1C181H=!w5B2u{p)|CQ z!1~|Ju;bo6eKSX~LJN!G5!1aOMWLek)Q_M2-}&e-xjZ;oytzJn`wyN<8}2S-wit;M zT9RmSc6|s?uv;6liC+K?=H#|@xOUEYUd;{<=Vx8UHxK~4u&?nj-PG8R*GKc?w|~Dn zIf4LcbX{f8`|0BCKQ4KcYD4bbcMMY9A_y$M+yC4AbhWAHzQnxi_c2g*wI59g2ra7B z_AWlmtV&n(Ii++C`sGmS98JqU?=`IzA75TvozX*=0S`ruE(ul&qtrC@>BZ{gO|#!#M@$g#6Wqm=wve5(otKZDSLpDn6d5d^8!@c^Pmlz ztpm^={tEL2*E!B7Gm15zv~j~y{m7`Vmq+tgZ+|~#ZBUnVdpeoJXsBXlP`?E2B13mu z(mtBq0yRg9gRmMFbHs+tP`n!Yo_+XPkwxZxw2?Iy!`zq5A!OOR_CTk?@K^YP?=bxc zNAcjC5NiJKQzX;_SOr^pYt;`CsAl$tb1pG_HJ-lxJFjkH_&#CmaV+_CWO4TP_fTrh zfaQ}F{Ie?U40nMA`v=9s&lhKB%M~RLIDvJE-&_Mw3l1%51nLFlj6dVKCUhj{XAlwy zl`GuPCADTJH`;9X48ia1KYltDTQXnxoqyq^Z1QM+_V({f5SuqLSv!NSIScy=)B>hz zp=wc+yR|HZyVQ!%Zm6b}4s23Od{lpiSoa-3jVQOZYn$&KR;&TEtXu6eFX2mV4N-8q zwn~BTbyQ)fh#bxC5sh-;(I}VW=^5mO1DVU51qezBn{cw&8P)hJopp}+-Nl>P@mbX8 z)pJ757zq-nftGb>04Q~!`cc}57#j*PV8ip++&CG|Om5BF-vw%K>g;rw8jx;s?lFS; zSw{MfF>W5+WTj9MERhx8{{8L$ut*E8LffhgKN|emQ5c@gnHrP6%R`u_5IXrXp)6uy zsG^tSz`?WY{nhaH|AtI+ulZ-lWSb6Sv_HGH(}c9K&jEnavfSn5t+k+-DQZDj5bDmu zkdVS}xUi}tO+D?Y(?;AWqxT2%E9{s0@`I}fxcIbgxRa)V!A6*7L8L%~M6*=ufABP! z&M6bH7Mj_dCybR5#SUof&DND!BbvSa2Y&ACY(+8iQD}+54$xgPwx1x@*^=K~2qidn zdc&IuKVDx6&A`bC>8q1xZsmrXeRXnm0N(^mAI!mh&ymq)pxjsb2B#2QcHE;|V!pA5 zpW#9T6exkQAPf{DI69`H`Bz}f_toUZ2PC`^L!1->x0atytAG8jp3#~cC-mti9q9)* zwe(5IG{DgkAOIG|i|IKZIm47GoxlA%NO-=uX;kY?{di4?HihuGf*Jp)w(8opv|&4s zdL5Ln^G!o4%`Ct@#=(}^d|*YLqLxSeCwevvtUCZ7+jj;0;7>V7+9%_Zfp+6EKd{mD z&B=Lf|Cm%fsWm|GfqTt)DYzMqceYQAFHXq&>z9ow*t@RIhx9E*b-FV`P<9?cEJZfi zI481?uF$B?hw=+DR1!h??n5z@U)!vf5v+X{e-Ji3A0L^J1*S4eyBMHT)1)5@rK%K_ za!Eg_o6QWBvB=yIy5f&iZxsP*;Uztc#}_{xi$3V&It!NNVRG@bCUhhRS!u@S4Jiby zMgZvO>g4c{p3$5vR)n)OdF>IpCVir~2x2aWHG~w<8AUG;NKaS`#vUA30+ItM)|aMG z#nY6Jb?P{hws2`taPFMLP=B(5ZOvgLV(3zd2Lwwvqjj0CG29&L(D3Tr0^)txJA@0(+3yB=x)RSp4P83YtgpW78!`l>H6dVWe zS@fef)*6`4c1Lt{+WLof9ON~LsFcZF&%)8XgDakZ`yDSrL2^~W_ z0Esi?mBpsQobBI{!X2DAX#P}J{2hx9A`&=jZ^SGqAay1ItVWca!TM&VYen1l=d3$? z*3ayn6Y86q6c$*@2!nRS6ey5jUY~S>&YoMP0TC^+BkFq_I!=vjfu5MGHAYNnIz|%_xl*%Xl+}`s$8h1Cb%0S1y znCYetjF;3XP0DgR&SR6-{M?2sgsp7*-B4k96(_c>Sxzyh^!LM)UpD3ul5DrjnZkR{ zc047dV4`Jat5b(3WMPDQ>#voP=aqX&sswrcSzTXsynB$|ur7x;k1Pma#sC3vq!vS3Gvh zh+-Y|ycrDs{BQqZX9O|sgjc(+QIa9tG1>XiD&T3yfnonp4>@3C2R)2irx)k4dasbE zA&R3e_|Od$TRS zgQLm>iGiApVS$GfW|q36a8S*1zq&>-XUAy&3arp0LR;CNF?8FWqL76`E)Ot;p0--m zO=r%DQ^S?kEppG(kAy3&p%9fpTI?chtS6#2()P9PfC8*U1WN&B^{b<81 zneBMNvfCor$(p3zjoLCYN5Q@LiP(TZr{|7yH)^~42npA#IgZk%3z2yF9(}UyMxNRL z4P$t&#vcuQb+DWP%4rL%J1f9@+qeJ->@-ZOEl+uURjY8o?xuC4{;a=xL9dkE&bxax zrI%aR3&YJw~Oup;RU>pB|_t3DMuT$x%4b^4)UM-Ts^ruWeuYOaYe&4 zl=+MRA=i`=)*=giVx$mg52~Pjf#4AT6~nYz3x~Di1YkBy0~OVCiS|~ehO(^dTfnHPV}__Ep*`S zX|m&cgl927zB?|UI!YE!RW+8J#} zQ*qFGYOG1E-L+rKkN5CTIgyoAxUAV9>)e>yl-?)WoCb=0c89i>1&-?Iw1bIgx?#M8 zO~EH#N;NyKxhR27>nImIUCXt(Vyfs`Q7w*kl5WkTtvT6^HY;ihJv-1%>uP}PQrF&Y z7zSVog&WO-KNgLCTh?Lq9OI-kW^4ny(B`w{IG-NS*b@C4^F%0f`m*vZ zaLNKngAVD+7kf;Gc@m*)&cEBca;z+0&ylhYr7!LG`}+KqxV*E)fH)AIpVgEngvP3X z1TA`0tACfj3SLJiA;w_d<*vuHXDW3^26n0eU_&#Fg z1`Y0CY$6fML~ERCm<~!1Y30?!5_FPqCI(2ALiug8lV^bA794Z04#6YD6{)*X_3ZFJ z=mF@Xp%|G|w*E2~Fn2yn2s>Bay0qm;JB3l8SODGDS&kdJQ!U$%cXpS;Yz$lbSIU<@ zy42~QwNT+Glw(RhE5EhV(`x0IW+9*D4HM~RC{Do47Wh)0tq!pVz&ei?U>Lsl%cyMu zN;f*!FT)8gy40nr$;DNL{@Z~kHI+>}ve7x>HmOMCePZ3GZX~hLtpj7(q3r@1lPVKD zH?7>j3fNV<0OYCF1^x+XEuS=5Gq&xpwuA3hIWtu1h5*rxp>lZRDR^y-InqG0h=#e2sge^YGB~rBt7eqk?gX ziaSGaN9a?1U#0ubt!+5QM9jA71w>sJ8N6OBYL_+vtAL%-nF}A$vncrXQxrxB!9U0$ zNK_gtoAjQrveH;$T!H%fzl&nFa8*_R=^8$b+DyPj73e6WFKbl(CoIjl39h)>KtC=3 z+rR8OH~`fiW5}&_&e_fZ0;)8XUZa$SIcwqL`ml_{3d1eELRe>7+fVQ~T!P|ZD`t?q z{IOkDAXCP>`!WrP$El?fs!9qRcly=ZL`v;?8cW&juEcteC8Z&}zV)SvaSsFh@hg0s zWths&;2)GKt&LZ8@H9Yd)l8*)PUC}0w2P20L!z(x>%$|Cw`kf+- zl_C@LR?@Z7;k4YPHF&j4FJr2msfm)jHdNor(njZ0TvB1wC$8;vIRYir{w6r0G}5Od zRdt?F6VALkd}YRV0jkoXrR+N%R39emRDQgj0xDXF-}cLmoLb2_Ju z@Uy=8Ybm31njE;gtT#bOpWdw7<5c{Z7;-k}Kx?yWi~70=j+%BhgT&p&+a0V??=rZ1#A zfYSi1@}Z$=BRj3GA%CKd+!3rOoTb}XJCa zW=V2wR{FBrq8B|6tpq%FEw?@T`a1ft%0=5^H&qJr_dab$n0~mnYNKwg=8p8+LHQ^* zlq_>@?}Ko?|LC{69FwfYZ#lAP-J@)n!jeCh*!m^+qS%UQw?J@wQmN&n}DUqnhDCe#SPcj z^pd&jpz)5)x@l+fl9Lcp-*7=k^=Ky%=L*hLsA$JmonA_6nx!{x9C{KnO6YFTc3!Xa zt3o|l86pu6V_1!YV!h;P^`mR9tHQo)sdySixveVwD~}9>zzW~wlgOO z_@jTU-bh(f6**=E($c0}4)|hh!Hvy`<*slC)dW)Mx9$W#p_0ePn1|t+wxa7mXiUU8 zwgo*ocQ1}~KNx}_w`}#ojCoc?F8}hRHw_N_k{Jj6I+O$YqA{mc0%EEJ+`Qn>c0RQF za_nk7HA-eEcxX($_8ZKk9HnMiP{Qmm^b z<%!+h6g{uvu5_zD`I_6Gy4qq;3{-`71-rD{!EDPY)oyAdZQ`3}R;=TT zjj;A}gw>?GaWDY}Svt^DDY~0ph5fNJcSBcRZgFkkis%;l2aAwgHj_fgA*RmiTeHmT zmeNC}61NHybEp{l-VpwZBlvypLC`QSgx%phHvnf)iMvQ--@Y?GmD~a-9-*G%rX{#5 zGym-l4{Hgcp%b_?02h%?$~OMvjy&qX3UGbZfSdVv2yyA? zLQFYr;GW2ra!AzXbp^aZ`P%{$z&Fq}1>6YQ#Vp;M?Gg&0UxRiVABP-jv zZ!6hDUu9Gfq;C7PI0=94IgMWLXf-ApJ9ogXVty=hh&I*;OA1G)MX=!v-wNH}c<@FJ zGpKO*lEAn%+g}oTJXV@J_FQDuC9hjl;Ko0`b4#3*<OD^58V`c3WKBI@a4S?xqVw5WN|#>;_ME~iq?Zwr9O zE!OC{1k_s%P1|>cLMv`Bhh2O8(`jN0CWK){5fZer`EB$tWV^OZT1gt3*wm`M*u;Vd zXOP;p69&O{iJCuF3^%@r5EHk&9E-BQmDL&U?>>0^?e5;69z4GL?e5b-;E&{y*QmTn z`xlQZUB{MXWPal6djHKOtn@d`8!aI{h;k^Zk?;ak+r0e>0Rcqm2<*4<1WE)s5#K^F zKuX4kJW|XwkL+-t%r_`HjWO80IwLw1HXpE-P#eCa3QW-3X4q*K$Myn91_&NJfAaVi z>Y!^Oh^6 z;@NS#FR8+Ka%s}T!+V1+;cq>Z7b`g2bVjEuzbkdi^0?_U|HXcpTn_5Blx-A3I_u-F zm$Q|gZZsd$AIyzKjK)~S&VoqnP<<9!APe2%Y@{^HJHkVZ3ky4{5>6e~xO9eBTRT;? z**D|5Ev=CG0}G2AhAOUbUi*_R#(8{e*>v+S^dLU~rteMHfqRQ0!cG$7Zol~qfGa=4 zx!w0xMK)c{&u9R_@jH2UPT&~0poQX>5G@cu><9{GoIWA0tc>_)TZ2paDYKr*7VztG zcE0_c0&QIF;Jcg@X({?ECR)e9`PZ#qfB6k&LvQ`+AHQ?QkDyxK0UKs9F?c3r_6xxf z&$dIqH6OqAkQ0sv?-9A}>|&pN;tUv{1wvuq#GU5S#Hw9xp2)sVl_s?{ zO=IZ-Vys(}UQa>oE|mm*3swB-(=8-cV|#gDJBBN!GY79U3%~7TVKN1)SX$RAepr=U zsSl}8*Dn_RLn@WCZ8GO6TN$yQ`h{x7;U4&9MW>q*B|{C_7^=5#+Qz>EP5(^l-Cv=1D1Xt1M{0$!;d-&521E$A zC!@^|`S%w{2o{$Wabpk&d{n}_rqKa2>SmLKfVEYF$oUzSECL;XTwbjyS+u&r=xOKq ztkoWt-;G)`=YAy&NWBz8{KEgrX3hZnOl^wcwaeB=#x$#4kJtiJ((r8;z z7H2c_R7w{s*;>l7QKYdLB_A}VJ4V}vNR1*gcaz;3=2b$VNNcMc7$ih;m=O!zr_U1V z6?yw?A@yfPc7?#h;&2-5b{z2>VAZfIo6hIra7D}p+z2HcK2|h^H(#%{0{E-6-qWNQ zM>?Quy<|JKn{v~EO=bJLgv<3RMpeT+XA`>uytD`w#RW=lGV}>-I8<2%PUtGPg>-zF zww4u1$dx%NP-1Z8PcgGrHC(gw3Cp=Jrx!ZWy<(Jig!Ixq$XEySzN*1~DuzaV$jV4m z%9}zvLu$JR!yML(o84erTMd8*X9P;DoXfk-##*YeyR3*^zU80=lJE^U zG0M5ilx&Q-v726g!&i|&-3gAdwYOIH$|c}*+j`6%o?&R`U(K%?^DSxHd|Mk6Slf9M!_lG8oK4 zT1rZ3)w!nRRl1{UF&qJ=2o_j=u)vu{w9*Wj&?M!~4NtiSY3(}<8x*q_+I0hM4q}ES zUfb36G|S>lWvbcm z=fs3|p;~x!t;n9p>J7$D78FHA&W@+W>+kj^q0|{|d~DY%+(nVsG^au`GdTMlbNPMZWh> zbJ&QY?yxS>g}Dos9`jh_ByNn)=76gI_VnuHd&~8pMXe&K+jmG4HvYAu@M5L+HPJ*> z2xw5Qazt}A!SR~4oP6*?%aoiLd*IiRyrt5aZp`TDv^%_ZjGn%)6k_7r--Y_03esGZ zY4j2X0M2o)<<-rz>$nB0Y$_;B(GE3wGB$`PC~2|sszql!Ne@2F>gIVLP8s*yP7Y^A zC$B99%o{<(>+4Ek@i+>{FihS}Wa(h~4AoR4tgp>Ifm2ZkLL&=~RF7^E@@6Z@PQL4@ zLEJx^Nv$@S;JT+tS74O;CUq2gAtzDv3GK*jrQ!Ndz`4A^Ot4J2Cw#DwTTwS+PHchvKcVZ)r@H$g!`N!=Y+Vb-Yv|}5nF*84Ry)flJJ6LLiu8{2 z^rtd4yT>;OB*Xu@KUX;^_Oy*BTEvA{9!ow1#Av%gy?I2n!9BBRWp6?lwpvKV4oV$y zn9%37!`b8qa8F>_khO$&%#>j~<1T01_yB&m= zadWmqrRES`NucjqvL0&?5swp1C}Uw@xk?zf3zrtI%=7`n-9`8}-sxDs{rRQ10#g=F zZ=XwDI0*)rx`o0{yCZ;}O^57TjB?-k;!a>f1B;*+JY9>$&G*lscq}B^DiDZy7Qp-L zrotih*Eo5Y9x1tL*a`?D%5KS4fq$5nG34SoVA$BxikLDaD@VcZ)YYUpSslNYESBIfYj zqhViwjM$Dk8-QkY+(kh39fj8K zC|T~D#y1;}LOOd8fHj&*jwv1tvf4UQX^Jg-olCT)`ZoCtoR|XO+Bk~i*M|+ecpNZ< zA{tMph&)|o+=ic6>%5sX)S_9mqv8n^6LO_;6>*~}4{nn5ZGddD?3k<%nxAgU*-!?~ zNkWjt=Q2Y8k|hneV#0qHl_|FCSqQVHs24|vmRhb$YzeMpBy<%`n7#eQ7oUW~*hF+~ z`m=ktc$<}HCl>P~%ppHFZRRevTgtS8E$|7*PcF($X581Rb7pBz?0R+Mf2&u#&{X3F zGj27>)h%}>huT}i?)UeZ{w+jbP1UuD^X6|hQ|$@|+^rK;ZIU%ub|6Q|5S*giw0 z4qh68&OX58*$G+2>6U&gpJQc4GnwapThd&Nk3T}-MGE)e*&$QK9L(zqJ63CcuoW^C z4bp+0yIIcGYEwK;@5Rc?dFun>a5gpI7F_Qv&b5ud*^~itzz1pZPdEv3Q3vaKw2vKf z)cSy7c**w;WwPMqTe^c!XjG(IU=*U{zNvPQe$L-^^!bi31q+ zy(f(20Ix86b`TQik-5Cbmo1U;q`UueoZ}e(wj1B+qM42_uZ7z3?a=d+E&FL=Bshe7 z+|0}I_q)r?xu{g4(>L54AK4by`;+hT>De`O25qIzSv{v*Ihwk_16z(R z7c=!#V0e*61B!IX1GILH+G_V%Vny#L>|-j+c7}V3u+APe94kz*qnFXbuWJLV?sA%B z`^ag^^v5%~oa9$D1Zy7M+zmH@lF*koCU33MJ&OXLRei{nx#Jjy_b`4l^54JW3d`_F z@4N_@8bE1&+S{(?&Cw;MRlfq)vc%3XKu(yedxZoUuW2;<%)!Z$H&ko7bsF%&sJ)Jj zrX5gf(z^`%O(~N}j6qs68#bkqYih>Iy0rwm%h_}7hZ#ZlSqy0dg!>uhBmM|)|K)pk zLRwBK08bO%wv8rM2D((+m#(P~@IlFEyYPs@vr?Kqf7qsFk>?yPH-H{`aJUA7IS zL}WBN3-Oa8vJEX)~iXXbT>mX*k;?qhZctR*7ARS zzW>J!4`|nBoeu(S*#T^finT~AQ@(&|k9*eK-P9Vl`eP?%J=C?6*)Tsass-Y6LZ}F_ zdcSgj#9Femu@cfxp&QQfDQ}kEdxc!(565Ki6WvWBH#y4vfUB;$21f4gFXI!xXJqRq zAgEWhCB11n+qwbuA%!b_DkPL{eoVf}AL|&zigu54w<*2`TxJ6yO6Y8kMLCgjtB&O#{Gw>8aIlwc);M`!SNHem}M*!$4Oq#L|8g9Z(i9 zEuUVjR)GznvC15c?`3(*-{s_@UN9D--TACyayk<+m|KCe2kyWa^Vs|GN|&=;;@aL@ zoZx_8`bckCt$a~&Wa*NLHI7@E(MCy?_CSOQMUOkE)n7(!>St&HXra^BCz5o5(O%ke zG1sLzBnBZ~jrE_ZcHe#XoWC_jua2}d>2%RpSQTmdD)=MRL7^yV9`Hsxk(O2n3O=jI z&ZZ*tMjM_qoRQItaCw|d; zk6w&hEuIjbkvjaA=5Sg#-S#6P=H(;aPL#J~2pRdeVSpoN8NrNdi9`|1BFnVgaHN6k z0XJ?u)Iyn3c;ixiw_}X61>;>lm;tt025TEcoRoe_j~&MVbS7UuG0kxYnfa$bC4w|p zJ20;boq)|vAMe3KnkG75f=YuLs5Xz%y-T}-iTdpu_jMeX7Hg$`oBqtgPiKz3{vwO- zv|b+~7Jil(<@xyHQkOSHL$Y8qjV86YmbFD6 z&m`(Kr7WRfw1LEo1LCcRyA2X5i@!EdWfkYMwy8#0*!0@UzMB?N>LURuS9*&A(p1roERC6* zN^@n7iYhXQr@Ek+#}xHnj+W;petNVD3zi`8Owd_J!ml#D2gEIwow zuaO1l5%^Lhr3u*Lv*Zj?o`ZnLxcNZj>AW@MFYt#cZJj8mr-!7TGdG^Pfu|jDHP3BM zg`4P3-V?v1UF0iz^ouj=gfy-Q*QFS@z8JsqOZ#5umJr7ghuaZ_UnObBVcB6BZPN|H zY#BRr;}!poNlA_J$J-iH+-xZ zq{@0p3y5=q?25Zjg*lhFHH`icg`;6TMopa`xu^yY8NyR549g4y7=?RGXPy9zVRB$2 zcI^06WaImKLr29t(RIHmRXB$^7;BqK_;#WtY*q2J3SZQw2$%q%nlZ*tz7}=mCzOkncnZVFkGv=vROKiI4G*Uv+Ja|7-HyXu-k^ zkkDy25_LX8WzY$$x1IlJM(1!7v_h-Z_giWkvhz1WyAs@$!@FD8*={T`DL?-OF~{y7 zfhDCET22a7#nod-RDv5`T=Bbjum z-HB{2-!$pAyL6^e^M?pH3Z9j5Xb7=o1NKabi~jtcf77-6!6x{vIXf^F_C`RZLTL}V zxsLb%*^`7b-0YD^$h%AKA<;%=D$*SRs%105>}#uE zE2S#X$sm;?IuLFEW>b}GYjlVJ%9WGUdcSg1&z)&IMOJw5A%N_|y`}p4b1>7$$Rk{w z?e=~vM>}P;fM55;V4Wtz^)Z0Lfp!nNE@}g?*PD661Rs8LJODUust)l%J;F?w4bpCZGhrdW8yg$449|c|cr>~Wtp(xPr z$Do+oh7`n|Z{NFEymGlS5Ln(rY;@tl_oSU6KbhZ3s6@+n-t+yw+(YXq*>6ObBN!VG zXGjjXzX(KlMpYl~2;v!L!thk|nj)6E3D-#n`vhqsY^nroL-qd0r9?wq4Hir_7068{ zN~}!VEgKtRc}pEiLD9r7DZWwMl53DPs1kntw&me!ZnmP$35>U)w|}FRIDwVpZK>wq z=%Dx+=3Z}mz`Sx6Hf;wQg~Q&M`$B>5SMX zGtC;!cG>}$J)H|Dwf41qsD*-^F^R)7 z(zCBCpJn}_O}n8yxrZLh=PJU#LC8ThwQ$`CnJ5+(_%P0Pgj3k}-3+~VqfBU2^zE1% zjbT|NhumnQA+2G|${p^CC4>c^uBD#h6V!$k$(K~%x=6M5iA3@ zouaPJ>uLRX+V)iWgB%C@CaUw>0`;J{_lWb=iJ!ugrqFl<88Ts0;ubM+>r>y;W^{RF43Ycxh0R`&(1T0-}^k_m-PD!yD>deCF}G|6NsG9g>)9zc zk3SHjO2WgElNFbo>KNML7*w4-9`GE%mQ7m?gtcfVFj~hI zfz!1ofzo=bPTOQeAnyD)huz|`Atj6}DfG)?=z(uMCB3Sa2nAA{DKol08CBIgJH!;fge3*T3W{+lsU=%v+Dtp=V4H!c%u~Fp&im$lH zr7^7H8{KKWs$l~21Xv)EkJfR)uNkQqcmIF4>RJEnu)@wB3AxGNrmtq)^8C|%= zA3=6?A0qRaaaHAiq6xuYc-o4Oe)>GT?&?^$y>ge>&X@I-*9-l|v)!BDk+1QGwY=uS z(l+-oO}vRXa}stx*}^gb(!L@*^z1x86>12hB=42u0gvRM0k8D{{qm4}Ya6Jd8=eX@ z-q$_nD)n}MGIpt90<54SzuCTnq39vZ)TUP@SsJEhM}04X;|YA1M48rzTdtehh42|h zqr-9=QKqou(ON^Uv?vit)nU9B(=E1p=Jx_b}``I_2t>g zDIji39ePMx-H7BTM$hhIxH6o5TEd|&7E;Ia^ddT3ket5-K|t?(z(&_Hme?HAsU-CV zj99mH<#nPLgm*Aq>ya3DgW{yJ>cEIaDpQzu*ZL!P0UgJ&>U4+Hwu5Z~#+wU?K!Y7W zTNhhGDbBD|(DyT+HzwkYx7e0=_Pm%TV4QY-|BVPW|vS zlfmCRvb9?qB7t}&yhk%OUU^wtsOcH||7EqZ6F@QU3zccy8SXdnGx}wnZfaQtR%+8G za+22euHUw%1>ZN>#Sf8371<&d)^^Yo*cF`Wnl^a!|3h%9?SB9`v5INO3Vy&%6}ENL zNR}W7VZapgcep!&8)81`Yv2_;s2@g48K38KWxZbRfEXfJC(%Jb+Hgfd@yhKVfpbf0 zYG}1eJvclKF>(WjjztqxosmLFj0W7;p6H&de0lBFI>vpXFrAWf0SvA-)}&9i&M;|! z5x@)L;N+Zy=k3jPQ~y;e_Vh%OYZg&=>pH;+0op+3;T8^^mjL6Q@63O>Jh^(E90e*J z8{C?^LTG=C2YE-mi~`n}`vI6kJyqivRX3Kffbv+AESm*G+b+6NwLn6H@bU~3mue#}Tv9!5YofHn*gNYOl8wgGG8LN7DU$|xX*yxP zDE()xIhNrA0M@rw*6DI>q6x<%a+}cq5g-vXN8DMipG8{@8?fHW=mP%OHd46ZQYzo< z99JB{aEK9mo!o(u{^r~zWNEGJuvme-`VPw}cGu5~7j^!n9OI^`@Sv!B2D8WkMhX!* zENsb?#Ks^uqUrV4wF{Mh^QODoBb!f31NsH42b`Oh3_9^hzEYTA&8ald!P<$_Qc823WxjoDc9le~4+RfN{lkd7saSxS5J_Ud` zj0k+2{%-JV@Gn|z+Y|oT|oY81TK0cUTU&5)QtGG9l(C$Zhv`b*N)pi9eT@KiT8e?9^)XH_n ze=dv#BE|#c-ppc#Rz&_X4^?e65;zC$HJJ zy5)txd=wVvsH0^d+vjF4R@@U1be>K z$gK;FJyd z9-syuGW`TI$v#s2K6qC)gYPPv{3ctTy}(ub=o@v(T*cnmTRwJR&_h3QlBf4>-Eqs5 zT1+cWv?;=EY!?53uqO6wlsmon@3^nhWE8#~S+}Uly+JGoa)`k!SX^XwU9-xPy(r5{ z_x{p?&L02Is9#a^%Cl} zzv193AQim2fqC!%yMDi+UZK>s&aN-^|279CI^w7n^PVL=*6IeI({{>!`AW%YFTtcR z9I?{e-9!~|e1X{qOb>9m)Kw->iUG&LX4M%IbLc!le%nPLhPK?mR} zWjpH4{7`Zkiot9we9tnJIO$a@_-uhmwF=9{vqA`|^9gI=&E-N*QOQS$J{ z!TEl?>gS{fKGQ-OXkq48L#`F?+K5vjlFIfE5dgE>XFG0}GOn@JexeKj8Zob7u=_GC zF(9WlwQ7HNvLVmpfw+2mlVn)k>$6x4n?uK|mK$x_#TNao2R>z;mf;=pLwEb7md01t z(1`>2ES(tb&JGxP{Ptw^;Ci1%JwnFIc-CjgpfLcsk*yzaG&RL};0nEyL7KgN^~1@P z6D8i`MTQ;~Eht>X?=Gb2*4UK>Dw_4n64;bD{-Dc{z#8>VH<^DxFa+A`94>$=EDycg|8^F zkQcmttG5_TO(|W9-AeiTqsqn`F!n;_pYINTo(m8$^GV$0snC>x)o81gdEl_Y&) zMnt?F7R~E9$0;=@ZJKr`SoVlrYIaMbM$j|AXl92n?rcgqi|&MdN^(~WyDf*wnVPb; zk63%jn@uzw?JK0m;@tRp!$C>=8m_xg!@fcV>5%Si7N+q<6^<)Syt~}WeN`A}6d2#k z2nZI;*V)B#PEd__Fb}6;8SDzn4(tqitaey1{z0;V`48Ez%I(-^T}We!Ev+iFjMxCH-nU+vgf< mKG3OiTJH=AA)2ZznaNmRpWaQbR)3ofB4Q$YZei?k;r|PHRd@*i diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 549ecdddf9..9fe47d1626 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: German\n" @@ -33,260 +33,268 @@ msgstr "Keine passende Aktion gefunden" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "Bestätigen" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "Löschung bestätigen" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "Löschung von Position bestätigen" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "Kategorie auswählen" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +#, fuzzy +#| msgid "Edit order information" +msgid "Email address confirmation" +msgstr "Bestellung bearbeiten" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Doppelte Seriennummer: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ungültige Gruppe: {g}" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "Doppelte Seriennummer: {g}" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "Name" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "Dateiname" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "Chinesisch" @@ -302,196 +310,196 @@ msgstr "E-Mail-Backend nicht konfiguriert" msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "Ausstehend" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "Platziert" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "Fertig" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "Storniert" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "Verloren" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "Versendet" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "erfordert Eingriff" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "Beschädigt" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "Zerstört" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "Zurückgewiesen" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "Alter Lagerbestands-Tracking-Eintrag" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "Lagerbestand erstellt" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "Lagerbestand bearbeitet" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "Seriennummer hinzugefügt" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "Lagerbestand gezählt" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "Lagerbestand manuell hinzugefügt" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "Lagerbestand manuell entfernt" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "Standort geändert" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "In Baugruppe installiert" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "Aus Baugruppe entfernt" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "Komponente installiert" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "Komponente entfernt" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "Vom übergeordneten Element geteilt" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "Zum Kunden geschickt" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "Rücksendung vom Kunden" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "Endprodukt erstellt" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "Endprodukt fertiggestellt" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "Gegen Bestellung empfangen" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "in Arbeit" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "Kein gültiger Währungscode" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "Ungültiger Buchstabe im Teilenamen" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Referenz muss zu Regex-Muster {pattern} passen" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Ungültiges Zeichen im Namen ({x})" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "Überschuss-Wert darf nicht negativ sein" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "Überschuss darf 100% nicht überschreiten" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "Systeminformationen" @@ -535,599 +543,586 @@ msgstr "Barcode ist bereits BestandsObjekt zugeordnet" msgid "Barcode associated with StockItem" msgstr "Barcode zugeordnet zu BestandsObjekt" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "Es existiert kein passender Build-Auftrag" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "Bauauftrags-Referenz" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "geplantes Bestelldatum" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "Zieldatum" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "Zieldatum für Bauauftrag-Fertigstellung." - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "Anzahl" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "Anzahl der zu bauenden Teile" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "Anlage von Endprodukt(en) bestätigen" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "Löschen des Endprodukt bestätigen" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "Aufhebung der BestandsZuordnung bestätigen" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "Bauauftrag als vollständig markieren" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "Lagerort" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "Lagerort der Endprodukte" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "Status" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "Bestands-Status der Endprodukte" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "Bauauftrag nicht fertiggestellt" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "Bauauftrag-Fertigstellung bestätigen" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "Abbruch bestätigen" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "Bauabbruch bestätigen" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "Referenz" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "Teil" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden BestandsObjekt" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen BestandsObjekte" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "Zieldatum für Bauauftrag-Fertigstellung." + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Nutzer der für diesen Bauauftrag zuständig ist" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "Externer Link" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "Notizen" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "BestandsObjekt" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "Quell-BestandsObjekt" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "Ziel-BestandsObjekt" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "Stücklisten-Position" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "Teil muss auf Lager sein" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "Anzahl muss größer Null sein" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "Endprodukt" +#: build/serializers.py:146 +#, fuzzy +#| msgid "Build output does not match build" +msgid "Build output does not match the parent build" +msgstr "Endprodukt stimmt nicht mit Bauauftrag überein" + +#: build/serializers.py:150 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Output part does not match BuildOrder part" +msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" + +#: build/serializers.py:154 +#, fuzzy +#| msgid "Build output is already completed" +msgid "This build output has already been completed" +msgstr "Endprodukt bereits hergstellt" + +#: build/serializers.py:158 +#, fuzzy +#| msgid "This Sales Order has not been fully allocated" +msgid "This build output is not fully allocated" +msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "Lagerort" + +#: build/serializers.py:191 +#, fuzzy +#| msgid "Location of completed parts" +msgid "Location for completed build outputs" +msgstr "Lagerort der Endprodukte" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "Status" + #: build/serializers.py:213 +#, fuzzy +#| msgid "A list of stock items must be provided" +msgid "A list of build outputs must be provided" +msgstr "Eine Liste der Lagerbestände muss angegeben werden" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "Stücklisten-Position" + +#: build/serializers.py:269 +#, fuzzy +#| msgid "Build Output" +msgid "Build output" +msgstr "Endprodukt" + +#: build/serializers.py:278 +#, fuzzy +#| msgid "Build output does not match build" +msgid "Build output must point to the same build" +msgstr "Endprodukt stimmt nicht mit Bauauftrag überein" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "Teil muss auf Lager sein" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "Anzahl muss größer Null sein" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" -msgstr "Seriennummer" +#: build/tasks.py:92 +#, fuzzy +#| msgid "Required for Build Orders" +msgid "Stock required for build order" +msgstr "Für Bauaufträge benötigt" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "Aktionen drucken" + +#: build/templates/build/build_base.html:43 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Print build order report" +msgstr "Berichte drucken" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "Bau-Auftrag Aktionen" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "Bauauftrag bearbeiten" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "Bauauftrag abbrechen" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "Bauauftrag löschen" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "Bauauftrag fertigstellen" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "Bauauftrag ist bereit abgeschlossen zu werden" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch ausstehende Endprodukte gibt" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" -msgstr "Admin" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" +msgstr "Zieldatum" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "Überfällig" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "Aktionen drucken" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "Bauauftrag drucken" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "Bauauftrag fertigstellen" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "Bau-Auftrag Aktionen" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "Bauauftrag bearbeiten" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "Bauauftrag abbrechen" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "Bauauftrag löschen" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "Bau-Status" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "Bauauftrag war fällig am %(target)s" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" -msgstr "Fortschritt" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" +msgstr "Überfällig" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "Fertig" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "Auftrag" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Aufgegeben von" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "Unfertige Endprodukte" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch unvollständige Endprodukte gibt" @@ -1175,220 +1170,205 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" -msgstr "Lagerzuordnung für dieses Endprodukt ist vollständig" +#: build/templates/build/detail.html:16 +msgid "Build Details" +msgstr "Bau-Status" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "Bestandszuordnung ist nicht vollständig" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "verfolgte Teile wurden nicht vollständig zugewiesen" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "Die folgenden Objekte werden erstellt" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "Ausgangs-Lager" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "Ziel-Lager" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "Ziel-Lagerort nicht angegeben" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +#, fuzzy +#| msgid "Related Parts" +msgid "Allocated Parts" +msgstr "Verknüpfte Teile" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "Losnummer" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "Erstellt" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "Kein Ziel-Datum gesetzt" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "Fertig" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "Bauauftrag ist nicht vollständig" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "Unter-Bauaufträge" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "Lagerbestand Bauauftrag zuweisen" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "Lagerbestand Bauauftrag zuweisen" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "Lagerbestand zuweisen" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "Bestandszuordnung aufheben" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "Bestandszuordnung aufheben" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "Lagerbestand Bauauftrag zuweisen" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "Lagerbestand zuweisen" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "Benötigte Teile bestellen" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "Teile bestellen" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "Nicht verfolgter Lagerbestand wurde Bauauftrag vollständig zugewiesen" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "Nicht verfolgter Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "Unfertige Endprodukte" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "Neues Endprodukt anlegen" -#: build/templates/build/detail.html:224 -msgid "Create New Output" -msgstr "Neues Endprodukt anlegen" +#: build/templates/build/detail.html:232 +#, fuzzy +#| msgid "Build Output" +msgid "New Build Output" +msgstr "Endprodukt" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" -msgstr "Neues Endprodukt anlegen" +#: build/templates/build/detail.html:246 +#, fuzzy +#| msgid "Actions" +msgid "Output Actions" +msgstr "Aktionen" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." -msgstr "Keine unfertigen Endprodukte verbleibend." +#: build/templates/build/detail.html:250 +#, fuzzy +#| msgid "Delete selected items" +msgid "Complete selected items" +msgstr "Ausgewählte Positionen löschen" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" -msgstr "Neues Endprodukt mit der Schaltfläche oberhalb anlegen" +#: build/templates/build/detail.html:251 +#, fuzzy +#| msgid "Incomplete Outputs" +msgid "Complete outputs" +msgstr "Unfertige Endprodukte" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "Fertiggestellte Endprodukte" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "Anhänge" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Anmerkungen bearbeiten" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "Anhang hinzufügen" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "Anhang löschen" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "Zuordnung abgeschlossen" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/edit_build_item.html:7 -msgid "Alter the quantity of stock allocated to the build output" -msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern" - -#: build/templates/build/index.html:28 +#: build/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1396,47 +1376,18 @@ msgstr "Neuer Bauauftrag" msgid "Print Build Orders" msgstr "Bauaufträge ausdrucken" -#: build/templates/build/index.html:43 -#: order/templates/order/purchase_orders.html:27 -#: order/templates/order/sales_orders.html:27 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 msgid "Display calendar view" msgstr "Kalender-Ansicht" -#: build/templates/build/index.html:46 -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:30 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "Listen-Ansicht" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "Bauauftrag-details" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "Details" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "Endprodukte" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "Unter-Endprodukte" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -msgstr "Bauauftrag-Notizen" - -#: build/templates/build/unallocate.html:10 -msgid "Are you sure you wish to unallocate all stock for this build?" -msgstr "Sind Sie sicher, dass sie alle BestandsObjekt von diesem Bauauftrag entfernen möchten?" - -#: build/templates/build/unallocate.html:12 -msgid "All incomplete stock allocations will be removed from the build" -msgstr "Alle unvollständigen Bestandszuordnungen werden vom Endprodukt entfernt" - #: build/views.py:76 msgid "Build was cancelled" msgstr "Bauauftrag wurde abgebrochen" @@ -1449,7 +1400,7 @@ msgstr "Endprodukt anlegen" msgid "Maximum output quantity is " msgstr "Maximale Endproduktmenge ist " -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -1461,11 +1412,11 @@ msgstr "Seriennummern für verfolgbare Endprodukte benötigt" msgid "Delete Build Output" msgstr "Endprodukt entfernen" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "Entfernung von Bestands-Zuordnung bestätigen" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" @@ -1473,7 +1424,7 @@ msgstr "Bestätigungsbox bestätigen" msgid "Build output does not match build" msgstr "Endprodukt stimmt nicht mit Bauauftrag überein" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "Endprodukt muss angegeben sein" @@ -1481,39 +1432,19 @@ msgstr "Endprodukt muss angegeben sein" msgid "Build output deleted" msgstr "Endprodukt gelöscht" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, es gibt noch unvollständige Endprodukte" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "Bauauftrag fertiggestellt" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "Endprodukt fertigstellen" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "Ungültiger Lagerbestands-Status ausgewählt" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "Fertigzustellende Anzahl darf nicht die geplante Endprodukt-Anzahl überschreiten" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "Endprodukt-Fertigstellung bestätigen" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "Endprodukt fertiggestellt" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "Bauauftrag löschen" @@ -1554,728 +1485,758 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:368 +#: common/models.py:382 +#, fuzzy +#| msgid "Barcode does not match a valid location" +msgid "Chosen value is not a valid option" +msgstr "Barcode entspricht keinem Lagerort" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:509 +#: common/models.py:559 +#, fuzzy +#| msgid "Group" +msgid "No group" +msgstr "Gruppe" + +#: common/models.py:601 +#, fuzzy +#| msgid "Required" +msgid "Restart required" +msgstr "Benötigt" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "InvenTree Instanzname" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Firmenname" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "Standardwährung" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:583 +#: common/models.py:683 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:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:590 +#: common/models.py:690 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:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "Vorlage" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "Komponente" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +#, fuzzy +#| msgid "Test Reports" +msgid "Enable Reports" +msgstr "Test-Berichte" + +#: common/models.py:815 +#, fuzzy +#| msgid "Enable generation of test reports" +msgid "Enable generation of reports" +msgstr "Erstellung von Test-Berichten aktivieren" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "Test-Berichte" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:746 +#: common/models.py:861 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:748 +#: common/models.py:863 msgid "days" msgstr "Tage" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "Gruppieren nach Teil" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:798 -msgid "Enable build" -msgstr "Bauaufträge aktivieren" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "Bau-Funktionalität in InvenTree aktivieren" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "Kaufen aktivieren" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "Kauf-Funktionalität in InvenTree aktivieren" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "Verkauf aktivieren" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "Verkaufs-Funktionalität in InvenTree aktivieren" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "Lagerbestand aktivieren" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "Aufträge aktivieren" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "Bestellungen aktivieren" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" -msgstr "" +#: common/models.py:931 +#, fuzzy +#| msgid "Required" +msgid "Email required" +msgstr "Benötigt" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" +msgstr "" + +#: common/models.py:956 +#, fuzzy +#| msgid "Select which users are assigned to this group" +msgid "Group to which new users are assigned on registration" +msgstr "Welche Benutzer gehören zu dieser Gruppe" + +#: common/models.py:1001 +#, fuzzy +#| msgid "Show starred parts" +msgid "Show subscribed parts" msgstr "Markierte Teile anzeigen" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:1002 +#, fuzzy +#| msgid "Show starred parts on the homepage" +msgid "Show subscribed parts on the homepage" msgstr "Zeige markierte Teile auf der Startseite" -#: common/models.py:904 +#: common/models.py:1007 +#, fuzzy +#| msgid "Subcategories" +msgid "Show subscribed categories" +msgstr "Unter-Kategorien" + +#: common/models.py:1008 +#, fuzzy +#| msgid "Show starred parts on the homepage" +msgid "Show subscribed part categories on the homepage" +msgstr "Zeige markierte Teile auf der Startseite" + +#: common/models.py:1013 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:905 +#: common/models.py:1014 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:910 +#: common/models.py:1019 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:911 +#: common/models.py:1020 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:917 +#: common/models.py:1026 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:918 +#: common/models.py:1027 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:1032 msgid "Show recent stock changes" msgstr "Neueste Lagerbestand Änderungen anzeigen" -#: common/models.py:924 +#: common/models.py:1033 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:929 +#: common/models.py:1038 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:930 +#: common/models.py:1039 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:935 +#: common/models.py:1044 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:936 +#: common/models.py:1045 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Lagerbestand auf der Startseite" -#: common/models.py:941 +#: common/models.py:1050 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:942 +#: common/models.py:1051 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:1056 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:948 +#: common/models.py:1057 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:953 +#: common/models.py:1062 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:954 +#: common/models.py:1063 msgid "Show expired stock items on the homepage" msgstr "Zeige Abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:959 +#: common/models.py:1068 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:960 +#: common/models.py:1069 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:965 +#: common/models.py:1074 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:966 +#: common/models.py:1075 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:971 +#: common/models.py:1080 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:972 +#: common/models.py:1081 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:977 +#: common/models.py:1086 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:978 +#: common/models.py:1087 msgid "Show outstanding POs on the homepage" msgstr "Ausstehende POs auf der Startseite anzeigen" -#: common/models.py:983 +#: common/models.py:1092 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:984 +#: common/models.py:1093 msgid "Show overdue POs on the homepage" msgstr "Überfällige POs auf der Startseite anzeigen" -#: common/models.py:989 +#: common/models.py:1098 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:990 +#: common/models.py:1099 msgid "Show outstanding SOs on the homepage" msgstr "Ausstehende SOs auf der Startseite anzeigen" -#: common/models.py:995 +#: common/models.py:1104 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:996 +#: common/models.py:1105 msgid "Show overdue SOs on the homepage" msgstr "Überfällige SOs auf der Startseite anzeigen" -#: common/models.py:1002 +#: common/models.py:1111 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen" -#: common/models.py:1023 +#: common/models.py:1132 +#, fuzzy +#| msgid "Show low stock" +msgid "Search Show Stock" +msgstr "Niedrigen Bestand anzeigen" + +#: common/models.py:1133 +#, fuzzy +#| msgid "Number of results to show in search preview window" +msgid "Display stock levels in search preview window" +msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen" + +#: common/models.py:1139 +#, fuzzy +#| msgid "Show active parts" +msgid "Hide Inactive Parts" +msgstr "Aktive Teile anzeigen" + +#: common/models.py:1140 +#, fuzzy +#| msgid "Number of results to show in search preview window" +msgid "Hide inactive parts in search preview window" +msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "Preis" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1189 -msgid "Default" -msgstr "Standard" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "Aktueller Wert" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "Einstellungen ändern" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "Angegebener Wert nicht erlaubt" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "Angegebener Wert muss ein Wahrheitswert sein" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "Benutzereinstellungen ändern" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "Datei hochgeladen" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "Übereinstimmende Felder" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "Positionen zuordnen" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "Felder zuteilen fehlgeschlagen" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "Teile importiert" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "Vorheriger Schritt" @@ -2321,6 +2282,7 @@ msgid "Contact phone number" msgstr "Kontakt-Telefon" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "Email" @@ -2337,10 +2299,10 @@ msgid "Point of contact" msgstr "Anlaufstelle" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "Link" @@ -2348,7 +2310,7 @@ msgstr "Link" msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "Bild" @@ -2376,8 +2338,8 @@ msgstr "ist Hersteller" msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "Währung" @@ -2385,8 +2347,8 @@ msgstr "Währung" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "Basisteil" @@ -2395,28 +2357,28 @@ msgid "Select part" msgstr "Teil auswählen" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "MPN" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" @@ -2431,7 +2393,7 @@ msgstr "Teilbeschreibung des Herstellers" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "Herstellerteil" @@ -2440,10 +2402,9 @@ msgid "Parameter name" msgstr "Parametername" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "Wert" @@ -2451,8 +2412,9 @@ msgstr "Wert" msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "Einheiten" @@ -2465,27 +2427,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -2501,23 +2463,23 @@ msgstr "Teil-URL des Zulieferers" msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Notiz" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "Verpackungen" @@ -2525,7 +2487,7 @@ msgstr "Verpackungen" msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "Vielfache" @@ -2533,47 +2495,43 @@ msgstr "Vielfache" msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "Währungscode" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 msgid "Company" msgstr "Firma" -#: company/templates/company/company_base.html:25 -#: part/templates/part/part_thumb.html:21 -msgid "Upload new image" -msgstr "Neues Bild hochladen" - -#: company/templates/company/company_base.html:27 -#: part/templates/part/part_thumb.html:23 -msgid "Download image from URL" -msgstr "Bild von URL herunterladen" - -#: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "Bestellung anlegen" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "Firmeninformation bearbeiten" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "Firma löschen" -#: company/templates/company/company_base.html:64 -msgid "Company Details" -msgstr "Firmendetails" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "Neues Bild hochladen" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" +msgstr "Bild von URL herunterladen" #: company/templates/company/company_base.html:81 msgid "Uses default currency" @@ -2583,145 +2541,133 @@ msgstr "verwendet Standard-Währung" msgid "Phone" msgstr "Telefon" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "Kunde" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "Bild hochladen" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "Zuliefererteile" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "Neues Zuliefererteil anlegen" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "Optionen" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "Teile bestellen" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "Herstellerteile" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "Bestellungen" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Neue Bestellung anlegen" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Neue Bestellung" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "Aufträge" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Neuen Auftrag anlegen" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Neuer Auftrag" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "Firmenbemerkungen" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "Zuliefererteil entfernen?" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" @@ -2729,204 +2675,174 @@ msgstr "Alle ausgewählten Zulieferteile werden gelöscht" msgid "Supplier List" msgstr "Zulieferer-Liste" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "Hersteller" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "Teil bestellen" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "Herstellerteil-Details" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "Internes Teil" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "Zulieferer" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "Zuliefererteil entfernen" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "Löschen" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "Parameter" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "Neuer Parameter" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "Parameter löschen" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "Parameter hinzufügen" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "Ausgewählte Parameter werden gelöscht" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "Parameter löschen" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "Herstellerteil-Bestand" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "Lagerbestand" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "Herstellerteil-Bestellungen" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Bestellungen" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "Hergestellte Teile" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "Zuliefererteile" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "Teilbestand" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "Zuliefererteil" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "Zuliefererteil Details" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#, fuzzy +#| msgid "Create new Stock Item" +msgid "Create new stock item" +msgstr "Neues BestandsObjekt hinzufügen" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "Neues BestandsObjekt" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "Teil bestellen" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "Preisinformationen ansehen" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "Preisstaffel löschen" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "Preisstaffel bearbeiten" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "Preisstaffel löschen" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "Lagerbestand" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "Bestellungen" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "Zuliefererteil Bepreisung" @@ -2939,17 +2855,12 @@ msgstr "Bepreisung" msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "Hersteller" - #: company/views.py:56 msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "Kunden" @@ -2965,24 +2876,24 @@ msgstr "Firmen" msgid "New Company" msgstr "Neue Firma" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "Bild herunterladen" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "Ungültige Antwort {code}" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" @@ -2994,7 +2905,7 @@ msgstr "Label Name" msgid "Label description" msgstr "Label Beschreibung" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "Label" @@ -3039,7 +2950,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "Filter" @@ -3051,240 +2962,236 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "Bestellung aufgeben" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Bestellung stornieren" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "Bestellung versenden" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "Seriennummern für BestandsObjekt eingeben" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "Menge der BestandsObjekt eingeben" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "Empfangen von" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "Versand von" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "Bestellung kann nicht versendet werden weil er nicht anhängig ist" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "Bestellung" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "Empfangen" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "BestandsObjekt wurde nicht zugewiesen" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann BestandsObjekt keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "Kann BestandsObjekt keiner Zeile ohne Teil hinzufügen" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "Zu viele BestandsObjekt zugewiesen" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für BestandsObjekt mit Seriennummer muss 1 sein" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "Position" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "Position" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "BestandsObjekt für Zuordnung auswählen" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -3300,7 +3207,7 @@ msgstr "Position" msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" @@ -3312,72 +3219,76 @@ msgstr "Barcode-Hash" msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" #: 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 "Sind Sie sicher, dass Sie diesen Anhang löschen wollen?" -#: order/templates/order/order_base.html:39 -#: order/templates/order/sales_order_base.html:50 -msgid "Print" -msgstr "Drucken" +#: order/templates/order/order_base.html:33 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Print purchase order report" +msgstr "Berichte drucken" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Exportiere Bestellung in Datei" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" -msgstr "Bestellung bearbeiten" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +#, fuzzy +#| msgid "Barcode actions" +msgid "Order actions" +msgstr "Barcode Aktionen" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +#, fuzzy +#| msgid "Ship order" +msgid "Edit order" +msgstr "Bestellung versenden" + +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "Elemente empfangen" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "Bestellungs-Details" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "Bestellstatus" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "Aufgegeben" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" @@ -3453,7 +3364,8 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "Zeile entfernen" @@ -3475,19 +3387,19 @@ msgstr "Zeile" msgid "Select Supplier Part" msgstr "Zulieferer-Teil auswählen" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "Datei zur Bestellung hochladen" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "Schritt %(step)s von %(count)s" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "Bestellung ist bereits verarbeitet. Dateien können nicht hochgeladen werden." @@ -3530,7 +3442,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "Bestellungen auswählen oder anlegen." #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "Positionen" @@ -3548,30 +3460,14 @@ msgstr "Neue Bestellung für %(name)s anlegen" msgid "Select a purchase order for %(name)s" msgstr "Bestellung für %(name)s auswählen" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "Bestellungs-Anhänge" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "BestandsObjekte empfangen" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "Empfangene Teile" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "Bestellungs-Positionen" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -3583,34 +3479,47 @@ msgstr "Ausgewählte Positionen erhalten" msgid "Receive Items" msgstr "Teile empfangen" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "Empfangene Teile" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "Notizen zur Bestellung" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "Berichte drucken" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Print sales order report" +msgstr "Berichte drucken" + +#: order/templates/order/sales_order_base.html:47 +#, fuzzy +#| msgid "Packing List" +msgid "Print packing list" +msgstr "Packliste" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "Versenden" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "Packliste" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "Auftragsdetails" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "Kundenreferenz" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" @@ -3625,7 +3534,7 @@ msgstr "Warnung" msgid "Cancelling this order means that the order will no longer be editable." msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist." -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Auftrags-Positionen" @@ -3653,18 +3562,6 @@ msgstr "Versenden dieses Auftrags bedeutet, dass der Auftrag nicht mehr bearbeit msgid "Allocate stock items by serial number" msgstr "Teilebestand per Seriennummer zuweisen" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "Auftragspositionen" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "Auftragspositionen" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "Auftrags-Anhänge" - #: order/views.py:103 msgid "Cancel Order" msgstr "Bestellung stornieren" @@ -3705,10 +3602,6 @@ msgstr "Fertigstellung bestätigen" msgid "Purchase order completed" msgstr "Bestellung als vollständig markieren" -#: order/views.py:222 -msgid "Ship Order" -msgstr "Versenden" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "Versand bestätigen" @@ -3776,40 +3669,28 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "Teile" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "Muss eine gültige Nummer sein" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "Standort für anfänglichen Bestand angeben" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "Verfügbarer Lagerbestand" @@ -3869,7 +3750,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:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "Ausgangsteil" @@ -3901,456 +3782,471 @@ msgstr "verknüpftes Teil" msgid "Select part category" msgstr "Teil-Kategorie wählen" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "Teile" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "Nächste verfügbare Seriennummern wären" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "Nächste verfügbare Seriennummer ist" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "Die neuste Seriennummer ist" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "Kategorie" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "Revision" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Lagerbestand dieses Teils" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "Minimaler Lagerbestand" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Lagerbestand" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "Aktiv" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2100 +#: part/models.py:2273 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:2117 +#: part/models.py:2290 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:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "Benötigt" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2156 +#: part/models.py:2329 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:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2162 +#: part/models.py:2335 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:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Ungültiges Zeichen im Vorlagename ({c})" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "Wert" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "Optional" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2396 +#: part/models.py:2595 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:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:2620 +#: part/models.py:2826 +#, fuzzy +#| msgid "BOM item notes" +msgid "BOM Item Substitute" +msgstr "Notizen zur Stücklisten-Position" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +#, fuzzy +#| msgid "Parent Item" +msgid "Parent BOM item" +msgstr "Elternposition" + +#: part/models.py:2868 +#, fuzzy +#| msgid "Sub part" +msgid "Substitute part" +msgstr "Untergeordnetes Teil" + +#: part/models.py:2879 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?" +#: part/tasks.py:53 +#, fuzzy +#| msgid "No stock location set" +msgid "Low stock notification" +msgstr "Kein Lagerort gesetzt" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "Sie haben keine Berechtigung zum Bearbeiten der Stückliste." -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "Die Stückliste für %(part)s hat sich geändert und muss kontrolliert werden.
" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am %(check_date)s kontrolliert" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert." -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "Ausgewählte Stücklistenpositionen entfernen" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" -msgstr "Stückliste importieren" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +#, fuzzy +#| msgid "Build actions" +msgid "BOM actions" +msgstr "Bau-Auftrag Aktionen" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "Stückliste von übergeordnetem Teil kopieren" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "Neue Stücklisten-Position" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "Bearbeitung beenden" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "Stückliste bearbeiten" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "Stückliste kontrollieren" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "Stückliste exportieren" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "Stücklisten-Bericht drucken" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Element löschen" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4256,23 @@ msgstr "Dieses Teil hat bereits eine Stückliste" msgid "Select Part" msgstr "Teil auswählen" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "Zurück zur Stückliste" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "Stückliste hochladen" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "Anforderungen für Stückliste-Datei" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "Die Stückliste-Datei muss die aufgeführten Spalten enthalten; siehe" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "Vorlage für Stückliste" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "Jedes Teil muss bereits in der Datenbank bestehen" @@ -4394,93 +4285,121 @@ msgstr "Bestätigen Sie das die Stückliste für
%(part)s korrekt i msgid "This will validate each line in the BOM." msgstr "Damit wird jede Zeile der Stückliste kontrolliert" -#: part/templates/part/category.html:33 -msgid "All parts" -msgstr "Alle Teile" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "You are subscribed to notifications for this category" +msgstr "Standard-Lagerort für Teile dieser Kategorie" + +#: part/templates/part/category.html:32 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "Subscribe to notifications for this category" +msgstr "Standard-Lagerort für Teile dieser Kategorie" #: part/templates/part/category.html:38 +#, fuzzy +#| msgid "Category Settings" +msgid "Category Actions" +msgstr "Kategorie-Einstellungen" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Edit part category" +msgid "Edit category" +msgstr "Teil-Kategorie bearbeiten" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Edit Part Category" +msgid "Edit Category" +msgstr "Teil-Kategorie bearbeiten" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Delete part category" +msgid "Delete category" +msgstr "Teil-Kategorie löschen" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Kategorie auswählen" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "Teil-Kategorie anlegen" -#: part/templates/part/category.html:44 -msgid "Edit part category" -msgstr "Teil-Kategorie bearbeiten" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Set Category" +msgid "New Category" +msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "Teil-Kategorie löschen" +#: part/templates/part/category.html:67 +#, fuzzy +#| msgid "top level Parts category" +msgid "Top level part category" +msgstr "oberste Teil-Kategorie" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "Kategorie-Details" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "Kategorie-Beschreibung" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "Teile (inklusive Unter-Kategorien)" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "Teile-Daten exportieren" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "Exportieren" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "Neues Teil" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "Label drucken" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "Exportieren" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "Listenansicht anzeigen" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "Rasteransicht anzeigen" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "Teil hinzufügen" @@ -4519,12 +4438,7 @@ msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die übergeordnete msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. verschoben" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "Teile importieren" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -4549,311 +4463,329 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Show Part Details" +msgid "Part Details" +msgstr "Teildetails anzeigen" + +#: part/templates/part/detail.html:66 +#, fuzzy +#| msgid "Minimum allowed stock level" +msgid "Minimum stock level" +msgstr "Minimal zulässiger Lagerbestand" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "letzte Seriennummer" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "Teilbestand" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "Lagerbestand aller Varianten von %(full_name)s" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "Teil Test-Vorlagen" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "Test Vorlage hinzufügen" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "Neuer Auftrag" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "Neue Bestellung" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "Teil Varianten" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "Neue Variante anlegen" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "neue Variante anlegen" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "Parameter hinzufügen" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "Verknüpfte Teile" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "Stückliste" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +#, fuzzy +#| msgid "Part actions" +msgid "Export actions" +msgstr "Teile Aktionen" + +#: part/templates/part/detail.html:375 +#, fuzzy +#| msgid "Export" +msgid "Export BOM" +msgstr "Exportieren" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "Stücklisten-Bericht drucken" + +#: part/templates/part/detail.html:387 +#, fuzzy +#| msgid "Upload File" +msgid "Upload BOM" +msgstr "Datei hochgeladen" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "Stückliste kopieren" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "Stückliste überprüfen" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "Neue Stücklisten-Position" + +#: part/templates/part/detail.html:397 +#, fuzzy +#| msgid "Edit BOM Item" +msgid "Add BOM Item" +msgstr "Stücklisten-Position bearbeiten" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "Baugruppen" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "Gefertigte Teile" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "Neuen Bauauftrag beginnen" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "Zulieferer" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "Stücklisten-Position anlegen" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "Teilenotizen bearbeiten" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "Stückpreis Einkauf - %(currency)s" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "Stückpreis Differenz - %(currency)s" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "Stückpreis Zulieferer - %(currency)s" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "Stückpreis - %(currency)s" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "Unzureichende Benutzerrechte." -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "Teile aus Datei importieren" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "Varianten" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "Benutzt in" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "Preise" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "Testvorlagen" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "Teileliste" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" -msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)" +#, fuzzy +#| msgid "Stock keeping units for this part" +msgid "Subscribe to notifications for this part" +msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "Teil kann aus anderen Teilen angefertigt werden" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "Teil kann in Baugruppen benutzt werden" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "Teil wird per Seriennummer verfolgt" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "Teil kann von externen Zulieferern gekauft werden" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "Teil kann an Kunden verkauft werden" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "Teil ist virtuell (kein physisches Teil)" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "Inaktiv" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "Teil favorisieren" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "Barcode Aktionen" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-Code anzeigen" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "Label drucken" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "Kosteninformationen ansehen" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "Bestands-Aktionen" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "Lagerbestand zählen" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "Teilbestand verschieben" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "Teile Aktionen" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "Teil duplizieren" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "Teil bearbeiten" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "Teil löschen" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "Teil kann aus anderen Teilen angefertigt werden" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "Teil kann in Baugruppen benutzt werden" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "Teil wird per Seriennummer verfolgt" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "Teil kann von externen Zulieferern gekauft werden" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "Teil kann an Kunden verkauft werden" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "Teil ist virtuell (kein physisches Teil)" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "Inaktiv" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "Auf Lager" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "Bestellt" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "Benötigt für Aufträge" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "Zu Bauaufträgen zugeordnet" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "Im Bau" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "Teildetails anzeigen" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "letzte Seriennummer" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "Teildetails ausblenden" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" @@ -4877,7 +4809,7 @@ msgid "Total Cost" msgstr "Gesamtkosten" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" @@ -4911,16 +4843,18 @@ msgstr "Interner Preis" msgid "No pricing information is available for this part." msgstr "Keine Preise für dieses Teil verfügbar" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "Aus vorhandenen Bildern auswählen" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " -msgstr "Teil '%(full_name)s' kann nicht gelöscht werden, da er noch als aktivmarkiert ist.\n" +msgstr "" +"Teil '%(full_name)s' kann nicht gelöscht werden, da er noch als aktivmarkiert ist.\n" "
Deaktivieren Sie das Attribut \"Aktiv\" und versuchen Sie es erneut.\n" " " @@ -4982,7 +4916,7 @@ msgstr "Verkaufspreis anzeigen" msgid "Calculation parameters" msgstr "Berechnungsparameter" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "Zuliefererkosten" @@ -5004,7 +4938,7 @@ msgstr "Für dieses Teil sind keine Bestandspreise verfügbar." msgid "Internal Cost" msgstr "Interne Kosten" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "Interne Preisspanne hinzufügen" @@ -5024,13 +4958,13 @@ msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar." msgid "Set category for the following parts" msgstr "Kategorie für Teile setzen" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "Kein Bestand" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "niedriger Bestand" @@ -5043,135 +4977,140 @@ msgstr "Neue Teilevariante anlegen" msgid "Create a new variant of template '%(full_name)s'." msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'." -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "Unbekannte Datenbank" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "verknüpftes Teil entfernen" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "Kategorie für {n} Teile setzen" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "Referenzen zuteilen" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "Kein(e)" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "Stückliste duplizieren" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "bestätige Duplizierung Stückliste von übergeordneter Stückliste" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "Stückliste überprüfen" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "Bestätigen, dass Stückliste korrekt ist" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "Teile zuordnen" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "Stückliste exportieren" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "Teil-Kategorie wurde gelöscht" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "Kategorieparametervorlage anlegen" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "Kategorieparametervorlage bearbeiten" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "Kategorieparametervorlage löschen" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "neue Preisstaffel hinzufügt" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "Interne Preisspanne bearbeiten" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "Interne Preisspanne löschen" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "Vorlagen Name" @@ -5208,51 +5147,51 @@ msgstr "einfügen Installiert in Tests" msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für BestandsObjekte in Baugruppen einschließen" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "Snippet" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "Ressource" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -5269,543 +5208,597 @@ msgstr "Positionen" msgid "Stock Item Test Report" msgstr "BestandsObjekt Test-Bericht" -#: report/templates/report/inventree_test_report_base.html:83 +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" +msgstr "Seriennummer" + +#: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" msgstr "Testergebnisse" -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "Ergebnis" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "Datum" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "bestanden" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "fehlgeschlagen" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "verbaute Objekte" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "Seriennummer" + +#: stock/api.py:422 +#, fuzzy +#| msgid "Quantity to receive" +msgid "Quantity is required" +msgstr "Zu erhaltende Menge" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "Ablaufdatum für dieses BestandsObjekt" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "Lagerort für serial" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "Seriennummern" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "Anzahl der eindeutigen Seriennummern (muss mit der Anzahl übereinstimmen)" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "Test Bericht Vorlage auswählen" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "BestandsObjekt zum verbauen" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "Anzahl darf die verfügbare Anzahl nicht überschreiten" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "Ziel Lagerort für unverbaute Objekte" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "nicht mehr verbauen bestätigen" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "Entfernen der verbauten BestandsObjekt bestätigen" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "Ein BestandsObjekt mit dieser Seriennummer existiert bereits" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "Eltern-BestandsObjekt" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für dieses BestandsObjekt auswählen" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "Losnummer für dieses BestandsObjekt" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "Bauauftrag für dieses BestandsObjekt" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "Bestellung für dieses BestandsObjekt" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für BestandsObjekt. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "Dieses BestandsObjekt löschen wenn Bestand aufgebraucht" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "BestandsObjekt-Notizen" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "Zur Löschung vorgesehen" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "Dieser Lagerbestand wird vom Hintergrund-Prozess gelöscht" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1075 +#: stock/models.py:1106 #, 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:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1246 +#: stock/models.py:1277 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:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:424 -msgid "StockItem primary key value" -msgstr "" +#: stock/serializers.py:166 +#, fuzzy +#| msgid "Purchase order for this stock item" +msgid "Purchase price of this stock item" +msgstr "Bestellung für dieses BestandsObjekt" -#: stock/serializers.py:452 -msgid "Stock transaction notes" -msgstr "Bestandsbewegungsnotizen" +#: stock/serializers.py:173 +#, fuzzy +#| msgid "Purchase order for this stock item" +msgid "Purchase currency of this stock item" +msgstr "Bestellung für dieses BestandsObjekt" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" -msgstr "Eine Liste der Lagerbestände muss angegeben werden" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of stock items to build" +msgid "Enter number of stock items to serialize" +msgstr "Anzahl der zu bauenden BestandsObjekt" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, fuzzy, python-brace-format +#| msgid "Quantity must not exceed available stock quantity ({n})" +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new items" +msgstr "Seriennummer für dieses Endprodukt eingeben" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "Ziel-Lagerbestand" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +#, fuzzy +#| msgid "Location not specified" +msgid "Optional note field" +msgstr "Standort nicht angegeben" + +#: stock/serializers.py:339 +#, fuzzy +#| msgid "Serial number cannot be set if quantity greater than 1" +msgid "Serial numbers cannot be assigned to this part" +msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "Bestandsbewegungsnotizen" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "Eine Liste der Lagerbestände muss angegeben werden" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "Informationen zum Lagerbestands-Tracking" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "neuer Eintrag" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "Kind-BestandsObjekt" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "Dieses BestandsObjekt hat keine Kinder" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "Testdaten" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "Testdaten löschen" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "Testdaten hinzufügen" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "Testdaten löschen" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "Testdaten hinzufügen" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "Installierte BestandsObjekte" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "BestandsObjekt installiert" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "abgelaufen" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "überfällig" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "Barcode abhängen" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "Barcode anhängen" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "zu Lagerort einscannen" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "Druck Aktionen" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "Bestand zählen" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "Bestand hinzufügen" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "Bestand entfernen" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "Lagerbestand serialisieren" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "Bestand verschieben" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "Kunden zuweisen" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "zu Bestand zurückgeben" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "BestandsObjekt deinstallieren" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "Deinstallieren" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "BestandsObjekt installieren" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "Installieren" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "in Variante ändern" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "BestandsObjekt duplizieren" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "BestandsObjekt bearbeiten" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "BestandsObjekt löschen" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "abgelaufen" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "überfällig" + +#: stock/templates/stock/item_base.html:161 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." -#: stock/templates/stock/item_base.html:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "Dieses BestandsObjekt wird gerade hergestellt und kann nicht geändert werden." -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "Ändern des BestandsObjekts in der Bauauftrag-Ansicht." -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "Dieses BestandsObjekt hat nicht alle Tests bestanden" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "Dieses BestandsObjekt ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Dieses BestandsObjekt ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden." -#: stock/templates/stock/item_base.html:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "Dieses BestandsObjekt kann nicht gelöscht werden, da es Kinder besitzt" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "Dieses BestandsObjekt wird automatisch gelöscht wenn der Lagerbestand aufgebraucht ist." -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "BestandsObjekt-Details" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "vorherige Seite" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "nächste Seite" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "Kein Lagerort gesetzt" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "Barcode-Bezeichner" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "Elternposition" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "Kein Hersteller ausgewählt" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieses BestandsObjekt lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "Tests" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "Speichern" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" @@ -5859,106 +5852,70 @@ msgstr "Teile mit Seriennummern mit diesem BestandObjekt anlegen." msgid "Select quantity to serialize, and unique serial numbers." msgstr "Zu serialisierende Anzahl und eindeutige Seriennummern angeben." -#: 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 "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." - -#: stock/templates/stock/location.html:37 -msgid "All stock items" -msgstr "Alle BestandsObjekte" - -#: stock/templates/stock/location.html:42 -msgid "Create new stock location" -msgstr "Neuen Lagerort anlegen" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "Teile einchecken" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "Lagerort-Aktionen" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "Lagerort bearbeiten" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "Lagerort löschen" -#: stock/templates/stock/location.html:99 -msgid "Location Details" -msgstr "Lagerort-Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" +msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:104 -msgid "Location Path" -msgstr "Lagerort-Pfad" +#: stock/templates/stock/location.html:76 +msgid "New Location" +msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:109 -msgid "Location Description" -msgstr "Lagerort-Beschreibung" +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "Delete stock allocation" +msgid "Top level stock location" +msgstr "Bestands-Zuordnung löschen" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" -msgstr "Objekt-Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" +msgstr "Teilbestand" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Druck Aktionen" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "Label drucken" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "Neuer Lagerort" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "Neuen Lagerort anlegen" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?" -#: stock/templates/stock/navbar.html:11 -msgid "Stock Item Tracking" -msgstr "BestandsObjekt-Verfolgung" - -#: stock/templates/stock/navbar.html:14 -msgid "History" -msgstr "Geschichte" - -#: stock/templates/stock/navbar.html:30 -msgid "Installed Items" -msgstr "verbaute Objekte" - -#: stock/templates/stock/navbar.html:38 -msgid "Child Items" -msgstr "Kindobjekte" - -#: stock/templates/stock/navbar.html:41 -msgid "Children" -msgstr "Kinder" - -#: stock/templates/stock/stock_adjust.html:43 -msgid "Remove item" -msgstr "Teil entfernen" - #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." msgstr "Lade..." @@ -5967,7 +5924,7 @@ msgstr "Lade..." msgid "The following stock items will be uninstalled" msgstr "Die folgenden BestandsObjekte werden nicht mehr verbaut" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "BestandsObjekt umwandeln" @@ -5988,104 +5945,100 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "Sind Sie sicher, dass Sie diesen BestandsObjekt-Verfolgungs-Eintrag löschen wollen?" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "BestandsObjekt-Lagerort bearbeiten" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "Kunden zuweisen" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "Kunde muss angegeben werden" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "zurück ins Lager" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "gültigen Lagerort angeben" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "BestandsObjekt retoure vom Kunden" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "alle Testdaten löschen" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "Löschen Testdaten bestätigen" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "BestandsObjekt-QR-Code" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "BestandsObjekte deinstallieren" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "BestandsObjekte deinstalliert" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "BestandsObjekt bearbeiten" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "Neuen Lagerort erstellen" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "Lagerbestand erfassen" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "Neues BestandsObjekt hinzufügen" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "Anzahl kann nicht negativ sein" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "BestandsObjekt löschen" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag löschen" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" @@ -6109,63 +6062,71 @@ msgstr "Seite existiert nicht" msgid "Index" msgstr "Index" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" -msgstr "Teilfavoriten" +#: templates/InvenTree/index.html:88 +#, fuzzy +#| msgid "Supplied Parts" +msgid "Subscribed Parts" +msgstr "Zuliefererteile" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +#, fuzzy +#| msgid "Subcategories" +msgid "Subscribed Categories" +msgstr "Unter-Kategorien" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "neueste Teile" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "Stücklisten erwarten Kontrolle" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "kürzlich aktualisiert" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "Verbrauchter Bestand" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "abgelaufener Bestand" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "Lagerbestand überfällig" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "laufende Bauaufträge" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "überfällige Bauaufträge" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "ausstehende Bestellungen" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "überfällige Bestellungen" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "ausstehende Aufträge" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "überfällige Aufträge" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "Suchergebnisse" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "Eine Sucheanfrage eingeben" @@ -6185,23 +6146,23 @@ msgstr "Kategorie-Einstellungen" msgid "Currency Settings" msgstr "Währungseinstellungen" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "Basiswährung" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "Wechselkurse" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "Letzte Aktualisierung" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "Nie" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "Jetzt aktualisieren" @@ -6209,147 +6170,78 @@ msgstr "Jetzt aktualisieren" msgid "Server Settings" msgstr "Server Einstellungen" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "Einstellungen" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "Benutzer-Einstellungen" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "Konto" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "Startseite" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "Suche" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "Labels" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "Berichte" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "Formulare" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "Einstellungen" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "InvenTree-Einstellungen" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "Server" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "Einloggen" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "Barcodes" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "Währungen" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "Berichte" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "Kategorien" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "Teil-Einstellungen" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "Teil-Optionen" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Teileimport" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Teil importieren" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "Teil-Parametervorlage" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Bestellungs-Einstellungen" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "Berichts-Einstellungen" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "Kein Wert angegeben" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "Einstellungen ändern" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "Einstellungen" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit setting" +msgid "Edit Global Setting" +msgstr "Einstellungen ändern" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit setting" +msgid "Edit User Setting" +msgstr "Einstellungen ändern" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "Keine Kategorie-Parametervorlagen gefunden" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "Vorlage bearbeiten" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "Vorlage löschen" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "Keine Teilparametervorlagen gefunden" @@ -6365,135 +6257,169 @@ msgstr "Bestands-Einstellungen" msgid "Account Settings" msgstr "Kontoeinstellungen" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "Bearbeiten" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "Passwort ändern" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "Benutzername" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "Vorname" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "Nachname" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" -msgstr "" +#: templates/InvenTree/settings/user.html:101 +#, fuzzy +#| msgid "Contact email address" +msgid "Add Email Address" +msgstr "Kontakt-Email" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" -msgstr "" +#: templates/InvenTree/settings/user.html:111 +#, fuzzy +#| msgid "Contact email address" +msgid "Enter e-mail address" +msgstr "Kontakt-Email" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +#, fuzzy +#| msgid "Email" +msgid "Add Email" +msgstr "Email" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "Anzeige-Einstellungen" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "Design auswählen" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "Spracheinstellung" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Set Language" +msgid "Select language" +msgstr "Sprache festlegen" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "%(lang_translated)s%% übersetzt" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "Keine Übersetzungen verfügbar" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "Sprache festlegen" -#: templates/InvenTree/settings/user.html:214 +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" +msgstr "" + +#: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +#, fuzzy +#| msgid "Show stale stock" +msgid "Show them too" +msgstr "Alten Bestand anzeigen" + +#: templates/InvenTree/settings/user.html:224 msgid "Help the translation efforts!" msgstr "Hilf bei der Übersetzung!" -#: templates/InvenTree/settings/user.html:215 +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is
community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "Die Übersetzung von InvenTree wird von Nutzern mit Crowdin betrieben. Wir ermutigen zur und freuen uns über jeden Mithilfe!" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" -msgstr "Formulareinstellungen" +#: templates/InvenTree/settings/user_display.html:9 +#, fuzzy +#| msgid "Email Settings" +msgid "Display Settings" +msgstr "E-Mail-Einstellungen" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "Anzeige-Einstellungen" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Set Theme" +msgid "Select theme" +msgstr "Design auswählen" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" +msgstr "Design auswählen" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" @@ -6507,124 +6433,143 @@ msgstr "Labeleinstellungen" msgid "Search Settings" msgstr "Sucheinstellungen" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "Benutzer-Einstellungen" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "InvenTree-Versionsinformationen" -#: templates/about.html:22 -msgid "InvenTree Version" -msgstr "InvenTree-Version" - -#: templates/about.html:27 -msgid "Development Version" -msgstr "Entwicklungsversion" - -#: templates/about.html:30 -msgid "Up to Date" -msgstr "Aktuell" - -#: templates/about.html:32 -msgid "Update Available" -msgstr "Aktualisierung verfügbar" - -#: templates/about.html:42 -msgid "Commit Hash" -msgstr "Commit-Hash" - -#: templates/about.html:49 -msgid "Commit Date" -msgstr "Commit-Datum" - -#: templates/about.html:55 -msgid "InvenTree Documentation" -msgstr "InvenTree-Dokumentation" - -#: templates/about.html:60 -msgid "API Version" -msgstr "API-Version" - -#: templates/about.html:65 -msgid "Python Version" -msgstr "Python-Version" - -#: templates/about.html:70 -msgid "Django Version" -msgstr "Django-Version" - -#: templates/about.html:75 -msgid "View Code on GitHub" -msgstr "Code auf GitHub ansehen" - -#: templates/about.html:80 -msgid "Credits" -msgstr "Danksagung" - -#: templates/about.html:85 -msgid "Mobile App" -msgstr "Mobile App" - -#: templates/about.html:90 -msgid "Submit Bug Report" -msgstr "Fehlerbericht senden" - -#: templates/about.html:97 templates/clip.html:4 -msgid "copy to clipboard" -msgstr "In die Zwischenablage kopieren" - -#: templates/about.html:97 -msgid "copy version information" -msgstr "Versionsinformationen kopieren" - -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Schliessen" +#: templates/about.html:20 +msgid "InvenTree Version" +msgstr "InvenTree-Version" + +#: templates/about.html:25 +msgid "Development Version" +msgstr "Entwicklungsversion" + +#: templates/about.html:28 +msgid "Up to Date" +msgstr "Aktuell" + +#: templates/about.html:30 +msgid "Update Available" +msgstr "Aktualisierung verfügbar" + +#: templates/about.html:40 +msgid "Commit Hash" +msgstr "Commit-Hash" + +#: templates/about.html:47 +msgid "Commit Date" +msgstr "Commit-Datum" + +#: templates/about.html:53 +msgid "InvenTree Documentation" +msgstr "InvenTree-Dokumentation" + +#: templates/about.html:58 +msgid "API Version" +msgstr "API-Version" + +#: templates/about.html:63 +msgid "Python Version" +msgstr "Python-Version" + +#: templates/about.html:68 +msgid "Django Version" +msgstr "Django-Version" + +#: templates/about.html:73 +msgid "View Code on GitHub" +msgstr "Code auf GitHub ansehen" + +#: templates/about.html:78 +msgid "Credits" +msgstr "Danksagung" + +#: templates/about.html:83 +msgid "Mobile App" +msgstr "Mobile App" + +#: templates/about.html:88 +msgid "Submit Bug Report" +msgstr "Fehlerbericht senden" + +#: templates/about.html:95 templates/clip.html:4 +msgid "copy to clipboard" +msgstr "In die Zwischenablage kopieren" + +#: templates/about.html:95 +msgid "copy version information" +msgstr "Versionsinformationen kopieren" + #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" -msgstr "" +#, fuzzy +#| msgid "Contact email address" +msgid "Confirm Email Address" +msgstr "Kontakt-Email" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree demo instance" +msgstr "InvenTree Instanzname" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6632,13 +6577,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6658,11 +6607,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Change Password" +msgid "Change password" +msgstr "Passwort ändern" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6679,6 +6630,91 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +#, fuzzy +#| msgid "Server status" +msgid "Server Restart Required" +msgstr "Serverstatus" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock is required for the following build order" +msgstr "Nutzer der für diesen Bauauftrag zuständig ist" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +#, fuzzy +#| msgid "Allow sale of expired stock" +msgid "The following parts are low on required stock" +msgstr "Verkauf von abgelaufenem Bestand erlaubt" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Build Quantity" +msgid "Required Quantity" +msgstr "Bau-Anzahl" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "Verfügbar" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +#, fuzzy +#| msgid "InvenTree Version" +msgid "InvenTree version" +msgstr "InvenTree-Version" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +#, fuzzy +#| msgid "Stale Stock" +msgid "Total Stock" +msgstr "Lagerbestand überfällig" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Build Quantity" +msgid "Minimum Quantity" +msgstr "Bau-Anzahl" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "URL für Bild-Donwload angeben" @@ -6695,138 +6731,59 @@ msgstr "Der angegebene Server muss erreichbar sein" msgid "Remote image must not exceed maximum allowable file size" msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "BestandsObjekt ausgewählt" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "Bericht-Vorlage auswählen" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "Test-Bericht-Vorlage auswählen" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "BestandsObjekte auswählen" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "BestandsObjekt(e) müssen vor dem Berichtsdruck ausgewählt werden" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "Keine Berichte gefunden" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "Keine Berichtsvorlagen für ausgewählte BestandsObjekt(e) gefunden" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "Bauauftrag auswählen" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "Teile auswählen" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "Bestellungen auswählen" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Aufträge auswählen" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "Fehler 400: Fehlerhafte Anfrage" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "Unbehandelter Fehler-Code" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "Fehler-Code" @@ -6834,292 +6791,403 @@ msgstr "Fehler-Code" msgid "No attachments found" msgstr "Keine Anhänge gefunden" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "Anhang löschen" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "Hier den Barcode scannen" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "Barcode-Daten eingeben" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "Barcode" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "Optionale Notizen zu Bestandsübertragung eingeben" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "Notizen eingeben" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "Server-Fehler" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "Barcode unterhalb scannen" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "Barcode scannen" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "keine URL in der Antwort" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "Barcode mit BestandsObjekt verknüpfen" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Barcode entfernt" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "BestandsObjekt entfernen" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "BestandsObjekte in Lagerort buchen" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "Einbuchen" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "Fehler bei Bestandsübertragung" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "BestandsObjekte bereits gescannt" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "BestandsObjekt besteht bereits in diesem Lagerort" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "BestandsObjekt hinzugefügt" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "Barcode entspricht keinem BestandsObjekt" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "In Lagerorten buchen" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +#, fuzzy +#| msgid "Remove part" +msgid "Remove substitute part" +msgstr "Teil entfernen" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?" + +#: templates/js/translated/bom.js:243 +#, fuzzy +#| msgid "Remove stock item" +msgid "Remove Substitute Part" +msgstr "BestandsObjekt entfernen" + +#: templates/js/translated/bom.js:282 +#, fuzzy +#| msgid "Add Supplier" +msgid "Add Substitute" +msgstr "Zulieferer hinzufügen" + +#: templates/js/translated/bom.js:283 +#, fuzzy +#| msgid "Edit BOM Item" +msgid "Edit BOM Item Substitutes" +msgstr "Stücklisten-Position bearbeiten" + +#: templates/js/translated/bom.js:402 +#, fuzzy +#| msgid "Update Available" +msgid "Substitutes Available" +msgstr "Aktualisierung verfügbar" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +#, fuzzy +#| msgid "Edit stock allocation" +msgid "Variant stock allowed" +msgstr "Bestands-Zuordnung bearbeiten" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "Unterbaugruppe öffnen" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" -msgstr "Verfügbar" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" +msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "Kaufpreisspanne" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "Durchschnittlicher Kaufpreis" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "Aktionen" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +#, fuzzy +#| msgid "Edit supplier part" +msgid "Edit substitute parts" +msgstr "Zuliefererteil bearbeiten" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" -msgstr "Bauauftrag bearbeiten" +#: templates/js/translated/bom.js:772 +#, fuzzy +#| msgid "Are you sure you want to delete this stock item?" +msgid "Are you sure you want to delete this BOM item?" +msgstr "Sind Sie sicher, dass Sie dieses BestandsObjekt löschen wollen?" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "Bauauftrag erstellen" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "Bestand von Endpordukt zurücknehmen" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "Endprodukt fertigstellen" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "Endprodukt entfernen" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "Keine Allokationen für Bauauftrag gefunden" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "Standort nicht angegeben" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "Bestands-Zuordnung bearbeiten" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "Bestands-Zuordnung löschen" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "Zuordnung bearbeiten" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "Zuordnung entfernen" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Vom übergeordneten Element geteilt" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "Bauauftrag bearbeiten" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "Bauauftrag erstellen" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "Bestand von Endpordukt zurücknehmen" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "Endprodukt fertigstellen" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "Endprodukt entfernen" + +#: templates/js/translated/build.js:184 +#, fuzzy +#| msgid "Are you sure you wish to unallocate all stock for this build?" +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "Sind Sie sicher, dass sie alle BestandsObjekt von diesem Bauauftrag entfernen möchten?" + +#: templates/js/translated/build.js:202 +#, fuzzy +#| msgid "Allocate Stock Item" +msgid "Unallocate Stock Items" +msgstr "Lagerbestand zuweisen" + +#: templates/js/translated/build.js:220 +#, fuzzy +#| msgid "Delete Build Output" +msgid "Select Build Outputs" +msgstr "Endprodukt entfernen" + +#: templates/js/translated/build.js:221 +#, fuzzy +#| msgid "At least one line item must be selected" +msgid "At least one build output must be selected" +msgstr "Mindestens eine Position muss ausgewählt werden" + +#: templates/js/translated/build.js:275 +#, fuzzy +#| msgid "Build Output" +msgid "Output" +msgstr "Endprodukt" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Completed Build Outputs" +msgid "Complete Build Outputs" +msgstr "Fertiggestellte Endprodukte" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "Keine Allokationen für Bauauftrag gefunden" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "Standort nicht angegeben" + +#: templates/js/translated/build.js:603 +#, fuzzy +#| msgid "No incomplete build outputs remain." +msgid "No active build outputs found" +msgstr "Keine unfertigen Endprodukte verbleibend." + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "Bestands-Zuordnung bearbeiten" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "Bestands-Zuordnung löschen" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "Zuordnung bearbeiten" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "Zuordnung entfernen" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "Zugeordnet" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "Lagerbestand bauen" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "Lagerbestand zuweisen" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "Teile auswählen" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "Lagerbestand für Bauauftrag zuweisen" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "Keine Information" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" @@ -7139,7 +7207,7 @@ msgstr "Herstellerteil ändern" msgid "Delete Manufacturer Part" msgstr "Herstellerteil löschen" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" @@ -7188,34 +7256,34 @@ msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "Vorlagenteil" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "Parameter löschen" @@ -7224,12 +7292,12 @@ msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "ja" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "nein" @@ -7237,57 +7305,63 @@ msgstr "nein" msgid "Select filter" msgstr "Filter auswählen" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "Daten neu laden" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "Filter hinzufügen" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "Filter entfernen" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "Filter anlegen" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "Aktion verboten" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "Erstellvorgang nicht erlaubt" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "Updatevorgang nicht erlaubt" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "Löschvorgang nicht erlaubt" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Muss eine gültige Nummer sein" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "Eingabe leeren" @@ -7299,6 +7373,11 @@ msgstr "JA" msgid "NO" msgstr "NEIN" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "BestandsObjekte auswählen" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "BestandsObjekt(e) müssen ausgewählt sein bevor Labels gedruckt werden können" @@ -7344,62 +7423,62 @@ msgstr "Label auswählen" msgid "Select Label Template" msgstr "Label-Vorlage auswählen" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "Abbrechen" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Abschicken" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "Formulartitel" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "Warte auf Server..." -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "Fehler-Informationen anzeigen" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "Akzeptieren" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "Lade Daten" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" @@ -7407,35 +7486,35 @@ msgstr "Fehler bei Formulardaten-Anfrage" msgid "Company ID" msgstr "Firmen-ID" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "Bestands-ID" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "Standort-ID" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "Bauauftrag-ID" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "Teil-ID" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "Bestell-ID" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "Kategorie-ID" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "Herstellerteil-ID" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" @@ -7447,565 +7526,714 @@ msgstr "Kunden hinzufügen" msgid "Create Sales Order" msgstr "Auftrag anlegen" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "Bestellung exportieren" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "Format" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "Dateiformat auswählen" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "Positionen auswählen" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "Bestellnummer" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "Bestellt" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "Empfangen" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "Summe" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "Stück-Preis" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +#, fuzzy +#| msgid "Total price" +msgid "Total Price" msgstr "Gesamtpreis" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "Erledigt" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "Lagerbestand kaufen" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "Position löschen " -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "Lagerbestand zuweisen" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "Teileigenschaften" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "Einstellungen für Teilkopien" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "Zuliefereroptionen" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "Anfänglichen Bestand erstellen" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "Anfänglichen Bestand für dieses Teil erstellen" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "Menge des anfänglichen Bestands für dieses Teil angeben" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "Zielstandort auswählen" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Bauteilkategorie kopieren" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "Zuliefererdaten hinzufügen" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "Erstelle ersten Lieferanten für dieses Teil" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "Bild kopieren" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "Stückliste kopieren" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +#, fuzzy +#| msgid "Parts imported" +msgid "Part edited" +msgstr "Teile importiert" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:435 -msgid "Starred part" -msgstr "Favoritenteil" +#: templates/js/translated/part.js:456 +#, fuzzy +#| msgid "Sub part" +msgid "Subscribed part" +msgstr "Untergeordnetes Teil" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +#, fuzzy +#| msgid "Display list view" +msgid "Display as list" +msgstr "Listen-Ansicht" + +#: templates/js/translated/part.js:1044 +#, fuzzy +#| msgid "Display list view" +msgid "Display as grid" +msgstr "Listen-Ansicht" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +#, fuzzy +#| msgid "Display list view" +msgid "Display as tree" +msgstr "Listen-Ansicht" + +#: templates/js/translated/part.js:1283 +#, fuzzy +#| msgid "Set category" +msgid "Subscribed category" +msgstr "Teil-Kategorie auswählen" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "Pfad" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "Keine ${human_name} Informationen gefunden" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "Einzelpreis" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "BestandsObjekt ausgewählt" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "Bericht-Vorlage auswählen" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "Test-Bericht-Vorlage auswählen" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "BestandsObjekt(e) müssen vor dem Berichtsdruck ausgewählt werden" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "Keine Berichte gefunden" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "Keine Berichtsvorlagen für ausgewählte BestandsObjekt(e) gefunden" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "Bauauftrag auswählen" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "Bestellungen auswählen" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "Aufträge auswählen" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" + +#: templates/js/translated/stock.js:70 +#, fuzzy +#| msgid "Serialize Stock" +msgid "Serialize Stock Item" +msgstr "Lagerbestand erfassen" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "Stock Location" +msgid "New Stock Location" +msgstr "Bestand-Lagerort" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Enter quantity of stock items" +msgid "Enter initial quantity for this stock item" +msgstr "Menge der BestandsObjekt eingeben" + +#: templates/js/translated/stock.js:195 +#, fuzzy +#| msgid "Enter unique serial numbers (or leave blank)" +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Create new Stock Item" +msgid "Created new stock item" +msgstr "Neues BestandsObjekt hinzufügen" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Create new Stock Item" +msgid "Created multiple stock items" +msgstr "Neues BestandsObjekt hinzufügen" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "Bestand exportieren" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "Einschließlich Unterstandorte" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "Bestand in untergeordneten Lagerorten einschließen" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerbestand auswählen" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "In BestandsObjekt installiert" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "BestandsObjekt wird produziert" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "BestandsObjekt wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "BestandsObjekt wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "BestandsObjekt ist abgelaufen" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "BestandsObjekt läuft demnächst ab" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "BestandsObjekt zugewiesen" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "BestandsObjekt in anderem Element verbaut" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "BestandsObjekt abgewiesen" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "BestandsObjekt verloren" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "BestandsObjekt zerstört" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "Inventur" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden BestandsObjekte" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "Teile" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "lose" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "Lagerorte" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "unbekannter Lagerort" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "Ungültiges Datum" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "Details" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "Lagerbestand existiert nicht mehr" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "Tracking-Eintrag bearbeiten" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "Tracking-Eintrag löschen" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "Seriennummer" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "Lagerbestand entfernen" @@ -8025,254 +8253,266 @@ msgstr "überprüft" msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "Unter-Lagerorte einschließen" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "Lagerorte einschließen" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:207 msgid "Is Serialized" msgstr "Hat Seriennummer" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 msgid "Serial number GTE" msgstr "Seriennummer >=" -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 msgid "Serial number greater than or equal to" msgstr "Seriennummer größer oder gleich" -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 msgid "Serial number LTE" msgstr "Seriennummer <=" -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 msgid "Serial number less than or equal to" msgstr "Seriennummern kleiner oder gleich" -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 msgid "Serial number" msgstr "Seriennummer" -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 msgid "Batch code" msgstr "Losnummer" -#: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:157 +#: templates/js/translated/table_filters.js:342 msgid "Active parts" msgstr "Aktive Teile" -#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:158 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:163 msgid "Part is an assembly" msgstr "Teil ist eine Baugruppe" -#: templates/js/translated/table_filters.js:151 +#: templates/js/translated/table_filters.js:167 msgid "Is allocated" msgstr "Ist zugeordnet" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:168 msgid "Item has been allocated" msgstr "Teil wurde zugeordnet" -#: templates/js/translated/table_filters.js:157 +#: templates/js/translated/table_filters.js:173 msgid "Include stock in sublocations" msgstr "Bestand in Unter-Lagerorten einschließen" -#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:178 msgid "Show stock items which are depleted" msgstr "Zeige aufgebrauchte BestandsObjekte" -#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "Zeige Objekte welche im Lager sind" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "In Arbeit" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "Elemente, die in Produktion sind, anzeigen" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "Varianten einschließen" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "BestandsObjekte für Teil-Varianten einschließen" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "Installiert" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "BestandsObjekte, die in anderen Elementen verbaut sind, anzeigen" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "zeige zu Kunden zugeordnete Einträge" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "Status" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "Hat Einkaufspreis" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "Bestand mit Einkaufspreis anzeigen" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "Zeige abgelaufene BestandsObjekte" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "Bestand, der bald ablaufen, anzeigen" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "Favorit" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "Suche" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "Neu laden" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "Alle" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "Navigation ein-/ausklappen" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "Kaufen" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "Verkaufen" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "Admin" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "Ausloggen" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "Einloggen" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "Über InvenTree" +#: templates/navbar_demo.html:5 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree demo mode" +msgstr "InvenTree Instanzname" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR Daten nicht angegeben" @@ -8285,6 +8525,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "Server" + #: templates/stats.html:13 msgid "Instance Name" msgstr "Instanzname" @@ -8338,54 +8582,50 @@ msgid "Export Stock Information" msgstr "Aktuellen Bestand exportieren" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "Neues BestandsObjekt" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "Barcode Aktionen" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "Test-Berichte drucken" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "Bestands-Einstellungen " -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "Zu ausgewählten BestandsObjekten hinzufügen" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "Von ausgewählten BestandsObjekten entfernen" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "Inventur für gewählte BestandsObjekte" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "Ausgewählte BestandsObjekte verschieben" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "Bestand verschieben" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "Ausgewählte Positionen bestellen" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "Status ändern" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "Status ändern" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "Ausgewählte Positionen löschen" @@ -8421,35 +8661,367 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "Gruppe" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "Ansicht" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "Ändern" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" +#~ msgid "Matching build order does not exist" +#~ msgstr "Es existiert kein passender Build-Auftrag" + +#~ msgid "Build Order reference" +#~ msgstr "Bauauftrags-Referenz" + +#~ msgid "Order target date" +#~ msgstr "geplantes Bestelldatum" + +#~ msgid "Number of items to build" +#~ msgstr "Anzahl der zu bauenden Teile" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "Aufhebung der BestandsZuordnung bestätigen" + +#~ msgid "Build output stock status" +#~ msgstr "Bestands-Status der Endprodukte" + +#~ msgid "Confirm incomplete" +#~ msgstr "Bauauftrag nicht fertiggestellt" + +#~ msgid "Confirm completion with incomplete stock allocation" +#~ msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen" + +#~ msgid "Confirm build completion" +#~ msgstr "Bauauftrag-Fertigstellung bestätigen" + +#~ msgid "Admin view" +#~ msgstr "Admin" + +#~ msgid "Print Build Order" +#~ msgstr "Bauauftrag drucken" + +#~ msgid "Progress" +#~ msgstr "Fortschritt" + +#~ msgid "Stock allocation is complete for this output" +#~ msgstr "Lagerzuordnung für dieses Endprodukt ist vollständig" + +#~ msgid "Stock allocation is incomplete" +#~ msgstr "Bestandszuordnung ist nicht vollständig" + +#~ msgid "tracked parts have not been fully allocated" +#~ msgstr "verfolgte Teile wurden nicht vollständig zugewiesen" + +#~ msgid "The following items will be created" +#~ msgstr "Die folgenden Objekte werden erstellt" + +#~ msgid "Create New Output" +#~ msgstr "Neues Endprodukt anlegen" + +#~ msgid "Create a new build output" +#~ msgstr "Neues Endprodukt anlegen" + +#~ msgid "Create a new build output using the button above" +#~ msgstr "Neues Endprodukt mit der Schaltfläche oberhalb anlegen" + +#~ msgid "Alter the quantity of stock allocated to the build output" +#~ msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern" + +#~ msgid "Build Order Details" +#~ msgstr "Bauauftrag-details" + +#~ msgid "Build Outputs" +#~ msgstr "Endprodukte" + +#~ msgid "Child Builds" +#~ msgstr "Unter-Endprodukte" + +#~ msgid "Build Order Notes" +#~ msgstr "Bauauftrag-Notizen" + +#~ msgid "All incomplete stock allocations will be removed from the build" +#~ msgstr "Alle unvollständigen Bestandszuordnungen werden vom Endprodukt entfernt" + +#~ msgid "Complete Build Output" +#~ msgstr "Endprodukt fertigstellen" + +#~ msgid "Invalid stock status value selected" +#~ msgstr "Ungültiger Lagerbestands-Status ausgewählt" + +#~ msgid "Quantity to complete cannot exceed build output quantity" +#~ msgstr "Fertigzustellende Anzahl darf nicht die geplante Endprodukt-Anzahl überschreiten" + +#~ msgid "Confirm completion of incomplete build" +#~ msgstr "Endprodukt-Fertigstellung bestätigen" + +#~ msgid "Build output completed" +#~ msgstr "Endprodukt fertiggestellt" + +#~ msgid "Enable build" +#~ msgstr "Bauaufträge aktivieren" + +#~ msgid "Enable build functionality in InvenTree interface" +#~ msgstr "Bau-Funktionalität in InvenTree aktivieren" + +#~ msgid "Enable buy" +#~ msgstr "Kaufen aktivieren" + +#~ msgid "Enable buy functionality in InvenTree interface" +#~ msgstr "Kauf-Funktionalität in InvenTree aktivieren" + +#~ msgid "Enable sell" +#~ msgstr "Verkauf aktivieren" + +#~ msgid "Enable sell functionality in InvenTree interface" +#~ msgstr "Verkaufs-Funktionalität in InvenTree aktivieren" + +#~ msgid "Enable stock" +#~ msgstr "Lagerbestand aktivieren" + +#~ msgid "Enable SO" +#~ msgstr "Aufträge aktivieren" + +#~ msgid "Enable PO" +#~ msgstr "Bestellungen aktivieren" + +#~ msgid "Default" +#~ msgstr "Standard" + +#~ msgid "Current value" +#~ msgstr "Aktueller Wert" + +#~ msgid "Change Setting" +#~ msgstr "Einstellungen ändern" + +#~ msgid "Supplied value is not allowed" +#~ msgstr "Angegebener Wert nicht erlaubt" + +#~ msgid "Supplied value must be a boolean" +#~ msgstr "Angegebener Wert muss ein Wahrheitswert sein" + +#~ msgid "Change User Setting" +#~ msgstr "Benutzereinstellungen ändern" + +#~ msgid "Company Details" +#~ msgstr "Firmendetails" + +#~ msgid "Manufacturer Part Details" +#~ msgstr "Herstellerteil-Details" + +#~ msgid "Manufacturer Part Stock" +#~ msgstr "Herstellerteil-Bestand" + +#~ msgid "Manufacturer Part Orders" +#~ msgstr "Herstellerteil-Bestellungen" + +#~ msgid "Manufactured Parts" +#~ msgstr "Hergestellte Teile" + +#~ msgid "Supplier Part Details" +#~ msgstr "Zuliefererteil Details" + +#~ msgid "Print" +#~ msgstr "Drucken" + +#~ msgid "Purchase Order Details" +#~ msgstr "Bestellungs-Details" + +#~ msgid "Purchase Order Attachments" +#~ msgstr "Bestellungs-Anhänge" + +#~ msgid "Received Stock Items" +#~ msgstr "BestandsObjekte empfangen" + +#~ msgid "Sales Order Details" +#~ msgstr "Auftragsdetails" + +#~ msgid "Sales Order Line Items" +#~ msgstr "Auftragspositionen" + +#~ msgid "Order Items" +#~ msgstr "Auftragspositionen" + +#~ msgid "Sales Order Attachments" +#~ msgstr "Auftrags-Anhänge" + +#~ msgid "Remove selected BOM items" +#~ msgstr "Ausgewählte Stücklistenpositionen entfernen" + +#~ msgid "Import BOM data" +#~ msgstr "Stückliste importieren" + +#~ msgid "Copy BOM from parent part" +#~ msgstr "Stückliste von übergeordnetem Teil kopieren" + +#~ msgid "Finish Editing" +#~ msgstr "Bearbeitung beenden" + +#~ msgid "Edit BOM" +#~ msgstr "Stückliste bearbeiten" + +#~ msgid "Validate Bill of Materials" +#~ msgstr "Stückliste kontrollieren" + +#~ msgid "Return To BOM" +#~ msgstr "Zurück zur Stückliste" + +#~ msgid "All parts" +#~ msgstr "Alle Teile" + +#~ msgid "Category Details" +#~ msgstr "Kategorie-Details" + +#~ msgid "View list display" +#~ msgstr "Listenansicht anzeigen" + +#~ msgid "View grid display" +#~ msgstr "Rasteransicht anzeigen" + +#~ msgid "Import Parts" +#~ msgstr "Teile importieren" + +#~ msgid "New sales order" +#~ msgstr "Neuer Auftrag" + +#~ msgid "New Order" +#~ msgstr "Neue Bestellung" + +#~ msgid "Start New Build" +#~ msgstr "Neuen Bauauftrag beginnen" + +#~ msgid "Variants" +#~ msgstr "Varianten" + +#~ msgid "Used In" +#~ msgstr "Benutzt in" + +#~ msgid "Prices" +#~ msgstr "Preise" + +#~ msgid "Test Templates" +#~ msgstr "Testvorlagen" + +#~ msgid "Star this part" +#~ msgstr "Teil favorisieren" + +#~ msgid "Hide Part Details" +#~ msgstr "Teildetails ausblenden" + +#~ msgid "Select test report template" +#~ msgstr "Test Bericht Vorlage auswählen" + +#~ msgid "Stock Item Details" +#~ msgstr "BestandsObjekt-Details" + +#~ msgid "Save" +#~ msgstr "Speichern" + +#~ msgid "All stock items" +#~ msgstr "Alle BestandsObjekte" + +#~ msgid "Location Details" +#~ msgstr "Lagerort-Details" + +#~ msgid "Location Path" +#~ msgstr "Lagerort-Pfad" + +#~ msgid "Location Description" +#~ msgstr "Lagerort-Beschreibung" + +#~ msgid "Stock Details" +#~ msgstr "Objekt-Details" + +#~ msgid "Create new location" +#~ msgstr "Neuen Lagerort anlegen" + +#~ msgid "Stock Item Tracking" +#~ msgstr "BestandsObjekt-Verfolgung" + +#~ msgid "History" +#~ msgstr "Geschichte" + +#~ msgid "Child Items" +#~ msgstr "Kindobjekte" + +#~ msgid "Children" +#~ msgstr "Kinder" + +#~ msgid "Remove item" +#~ msgstr "Teil entfernen" + +#~ msgid "Starred Parts" +#~ msgstr "Teilfavoriten" + +#~ msgid "Setting" +#~ msgstr "Einstellungen" + +#~ msgid "Account" +#~ msgstr "Konto" + +#~ msgid "Home Page" +#~ msgstr "Startseite" + +#~ msgid "Labels" +#~ msgstr "Labels" + +#~ msgid "Reports" +#~ msgstr "Berichte" + +#~ msgid "Forms" +#~ msgstr "Formulare" + +#~ msgid "InvenTree Settings" +#~ msgstr "InvenTree-Einstellungen" + +#~ msgid "Barcodes" +#~ msgstr "Barcodes" + +#~ msgid "Currencies" +#~ msgstr "Währungen" + +#~ msgid "Reporting" +#~ msgstr "Berichte" + +#~ msgid "Categories" +#~ msgstr "Kategorien" + +#~ msgid "Part Options" +#~ msgstr "Teil-Optionen" + +#~ msgid "Form Settings" +#~ msgstr "Formulareinstellungen" + +#~ msgid "Starred part" +#~ msgstr "Favoritenteil" + +#~ msgid "Starred" +#~ msgstr "Favorit" + +#~ msgid "Toggle navigation" +#~ msgstr "Navigation ein-/ausklappen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.mo b/InvenTree/locale/el/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..dbe42ffd5bd20c408beb90eb38d12031b7df9acf GIT binary patch literal 523 zcmZWl%}T>S5U%JcN6#Ks@Sxx{KUGP$^q_580u7cniXc+fWR0ooZrE(AK8O$I3-~Nf zs-{H;K6Yp3o4@aKcjvu�MtZ_*R_S##+sJVjxW6n(H!Gl9F65 zxip${Yr+eq4Mb&@r*N^zN{AID*7y=8e3@5l=rhA9@f^R30>)9M9l;YXcKN&Y1v>{D`b>a`qaqw@FK>adOQAQyOreOpW13@fo?6yuHv*RgBY k7Aj$a+g#eC-Yg2H)AM04wbMDusG5cP({#0k+w!f(7sl6}hyVZp literal 0 HcmV?d00001 diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 880c7b29d6..5e4134264a 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Greek\n" @@ -33,260 +33,266 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "" @@ -302,196 +308,196 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "" @@ -535,599 +541,566 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:150 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:154 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:158 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "" + +#: build/serializers.py:191 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "" + #: build/serializers.py:213 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +msgid "Build output" +msgstr "" + +#: build/serializers.py:278 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" +#: build/tasks.py:92 +msgid "Stock required for build order" msgstr "" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1148,195 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" +#: build/templates/build/detail.html:232 +msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" +#: build/templates/build/detail.html:246 +msgid "Output Actions" msgstr "" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." +#: build/templates/build/detail.html:250 +msgid "Complete selected items" msgstr "" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" +#: build/templates/build/detail.html:251 +msgid "Complete outputs" msgstr "" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1344,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1368,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1380,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1392,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1400,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1453,728 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2220,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2337,10 +2237,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2248,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2276,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2285,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2295,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2331,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2340,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2350,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2401,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2425,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2433,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2479,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2613,172 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2791,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2812,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2841,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2898,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3143,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3155,70 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" +#: order/templates/order/order_base.html:33 +msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" +msgstr "" + +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3294,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3317,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3390,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3409,43 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3460,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3488,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3528,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3595,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3676,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,455 +3708,458 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +msgid "Low stock notification" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4334,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4691,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4725,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4795,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4817,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4837,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4856,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5026,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5087,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5716,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5786,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5807,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5924,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6004,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6028,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6111,154 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6273,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6413,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6443,11 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" msgstr "" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6464,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6551,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6611,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +6993,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7078,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7091,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7157,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7207,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7270,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7310,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8011,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8281,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8338,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8417,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 90d2d28be0..5162bf6bc2 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-09-12 13:15+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,250 +34,266 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/forms.py:230 +msgid "Email (again)" +msgstr "" + +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 +msgid "You must type the same email each time." +msgstr "" + +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: 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/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:663 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:665 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "" @@ -293,196 +309,196 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "" @@ -526,589 +542,566 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 -msgid "Target Date" -msgstr "" - -#: build/forms.py:43 build/models.py:277 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "" - -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 -msgid "Location" -msgstr "" - -#: build/forms.py:211 -msgid "Location of completed parts" -msgstr "" - -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 -msgid "Status" -msgstr "" - -#: build/forms.py:216 -msgid "Build output stock status" -msgstr "" - -#: build/forms.py:223 -msgid "Confirm incomplete" -msgstr "" - -#: build/forms.py:224 -msgid "Confirm completion with incomplete stock allocation" -msgstr "" - -#: build/forms.py:227 -msgid "Confirm build completion" -msgstr "" - -#: build/forms.py:252 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:710 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:713 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1117 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1127 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1193 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: build/models.py:1270 build/serializers.py:328 +#: stock/templates/stock/item_base.html:8 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 -msgid "Serial Number" +#: build/serializers.py:137 build/serializers.py:357 +msgid "Build Output" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" +#: build/serializers.py:146 +msgid "Build output does not match the parent build" msgstr "" -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" +#: build/serializers.py:150 +msgid "Output part does not match BuildOrder part" msgstr "" -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" +#: build/serializers.py:154 +msgid "This build output has already been completed" msgstr "" -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" +#: build/serializers.py:158 +msgid "This build output is not fully allocated" msgstr "" -#: build/templates/build/build_base.html:18 +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "" + +#: build/serializers.py:191 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "" + +#: build/serializers.py:213 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +msgid "Build output" +msgstr "" + +#: build/serializers.py:278 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:396 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:403 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:431 +msgid "Allocation items must be provided" +msgstr "" + +#: build/tasks.py:92 +msgid "Stock required for build order" +msgstr "" + +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1156,228 +1149,195 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 -msgid "Create New Output" +#: build/templates/build/detail.html:232 +msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:225 -msgid "Create a new build output" +#: build/templates/build/detail.html:246 +msgid "Output Actions" msgstr "" -#: build/templates/build/detail.html:226 -msgid "No incomplete build outputs remain." +#: build/templates/build/detail.html:250 +msgid "Complete selected items" msgstr "" -#: build/templates/build/detail.html:227 -msgid "Create a new build output using the button above" +#: build/templates/build/detail.html:251 +msgid "Complete outputs" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/edit_build_item.html:7 -msgid "Alter the quantity of stock allocated to the build output" +#: build/templates/build/detail.html:513 +msgid "Allocation Complete" msgstr "" -#: build/templates/build/index.html:28 +#: build/templates/build/detail.html:514 +msgid "All untracked stock items have been allocated" +msgstr "" + +#: build/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1385,170 +1345,78 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 -msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:437 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:479 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:486 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:492 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:591 -msgid "Build output completed" -msgstr "" - -#: build/views.py:628 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1586,656 +1454,728 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:771 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:772 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:703 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:709 -msgid "Page Size" -msgstr "" - -#: common/models.py:710 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:720 -msgid "Test Reports" -msgstr "" - -#: common/models.py:721 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:727 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:728 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:734 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:735 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:741 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:742 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:744 -msgid "days" -msgstr "" - -#: common/models.py:749 -msgid "Build Expired Stock" -msgstr "" - -#: common/models.py:750 -msgid "Allow building with expired stock" -msgstr "" - -#: common/models.py:756 -msgid "Stock Ownership Control" -msgstr "" - -#: common/models.py:757 -msgid "Enable ownership control over stock locations and items" -msgstr "" - -#: common/models.py:763 -msgid "Group by Part" -msgstr "" - -#: common/models.py:764 -msgid "Group stock items by part reference in table views" -msgstr "" - -#: common/models.py:770 -msgid "Build Order Reference Prefix" -msgstr "" - -#: common/models.py:771 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:776 -msgid "Build Order Reference Regex" -msgstr "" - -#: common/models.py:777 -msgid "Regular expression pattern for matching build order reference" -msgstr "" - -#: common/models.py:781 -msgid "Sales Order Reference Prefix" -msgstr "" - -#: common/models.py:782 -msgid "Prefix value for sales order reference" -msgstr "" - -#: common/models.py:787 -msgid "Purchase Order Reference Prefix" -msgstr "" - -#: common/models.py:788 -msgid "Prefix value for purchase order reference" -msgstr "" - -#: common/models.py:794 -msgid "Enable build" -msgstr "" - -#: common/models.py:795 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:800 -msgid "Enable buy" -msgstr "" - -#: common/models.py:801 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - #: common/models.py:806 -msgid "Enable sell" +msgid "Part Name Display Format" msgstr "" #: common/models.py:807 -msgid "Enable sell functionality in InvenTree interface" +msgid "Format to display the part name" msgstr "" -#: common/models.py:812 -msgid "Enable stock" +#: common/models.py:814 +msgid "Enable Reports" msgstr "" -#: common/models.py:813 -msgid "Enable stock functionality in InvenTree interface" +#: common/models.py:815 +msgid "Enable generation of reports" msgstr "" -#: common/models.py:818 -msgid "Enable SO" +#: common/models.py:821 templates/stats.html:25 +msgid "Debug Mode" msgstr "" -#: common/models.py:819 -msgid "Enable SO functionality in InvenTree interface" +#: common/models.py:822 +msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:824 -msgid "Enable PO" +#: common/models.py:828 +msgid "Page Size" msgstr "" -#: common/models.py:825 -msgid "Enable PO functionality in InvenTree interface" +#: common/models.py:829 +msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:850 -msgid "Show starred parts" +#: common/models.py:839 +msgid "Test Reports" msgstr "" -#: common/models.py:851 -msgid "Show starred parts on the homepage" +#: common/models.py:840 +msgid "Enable generation of test reports" msgstr "" -#: common/models.py:856 -msgid "Show latest parts" +#: common/models.py:846 +msgid "Stock Expiry" msgstr "" -#: common/models.py:857 -msgid "Show latest parts on the homepage" +#: common/models.py:847 +msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:862 -msgid "Recent Part Count" +#: common/models.py:853 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:854 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:860 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:861 +msgid "Number of days stock items are considered stale before expiring" msgstr "" #: common/models.py:863 -msgid "Number of recent parts to display on index page" +msgid "days" +msgstr "" + +#: common/models.py:868 +msgid "Build Expired Stock" msgstr "" #: common/models.py:869 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:870 -msgid "Show BOMs that await validation on the homepage" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:875 -msgid "Show recent stock changes" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:876 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:881 -msgid "Recent Stock Count" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:882 -msgid "Number of recent stock items to display on index page" +msgid "Group by Part" msgstr "" -#: common/models.py:887 -msgid "Show low stock" +#: common/models.py:883 +msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:888 -msgid "Show low stock items on the homepage" +#: common/models.py:889 +msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:893 -msgid "Show depleted stock" +#: common/models.py:890 +msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:894 -msgid "Show depleted stock items on the homepage" +#: common/models.py:895 +msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:899 -msgid "Show needed stock" +#: common/models.py:896 +msgid "Regular expression pattern for matching build order reference" msgstr "" #: common/models.py:900 -msgid "Show stock items needed for builds on the homepage" +msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:905 -msgid "Show expired stock" +#: common/models.py:901 +msgid "Prefix value for sales order reference" msgstr "" #: common/models.py:906 -msgid "Show expired stock items on the homepage" +msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:911 -msgid "Show stale stock" +#: common/models.py:907 +msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:912 -msgid "Show stale stock items on the homepage" +#: common/models.py:913 +msgid "Enable password forgot" msgstr "" -#: common/models.py:917 -msgid "Show pending builds" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:918 -msgid "Show pending builds on the homepage" +#: common/models.py:919 +msgid "Enable registration" msgstr "" -#: common/models.py:923 -msgid "Show overdue builds" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:924 -msgid "Show overdue builds on the homepage" +#: common/models.py:925 +msgid "Enable SSO" msgstr "" -#: common/models.py:929 -msgid "Show outstanding POs" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:930 -msgid "Show outstanding POs on the homepage" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:935 -msgid "Show overdue POs" +#: common/models.py:932 +msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:936 -msgid "Show overdue POs on the homepage" +#: common/models.py:937 +msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:941 -msgid "Show outstanding SOs" +#: common/models.py:938 +msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:942 -msgid "Show outstanding SOs on the homepage" +#: common/models.py:943 +msgid "Mail twice" msgstr "" -#: common/models.py:947 -msgid "Show overdue SOs" +#: common/models.py:944 +msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:948 -msgid "Show overdue SOs on the homepage" +#: common/models.py:949 +msgid "Password twice" msgstr "" -#: common/models.py:954 -msgid "Inline label display" +#: common/models.py:950 +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:955 +msgid "Group on signup" +msgstr "" + +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1001 +msgid "Show subscribed parts" +msgstr "" + +#: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 +msgid "Inline label display" +msgstr "" + +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1147 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1153 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1154 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2247,292 +2187,289 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: company/models.py:335 company/templates/company/company_base.html:116 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: company/models.py:422 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: company/models.py:545 company/templates/company/company_base.html:121 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:117 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2543,145 +2480,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2689,205 +2614,172 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: company/templates/company/manufacturer_part.html:40 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: company/templates/company/manufacturer_part.html:44 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 -#: 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:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: company/templates/company/supplier_part.html:38 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: company/templates/company/supplier_part.html:42 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2900,17 +2792,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2926,24 +2813,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2955,7 +2842,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3000,7 +2887,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3012,349 +2899,330 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" -msgstr "" - -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:961 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:315 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" +#: order/templates/order/order_base.html:33 +msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 -msgid "Edit order information" -msgstr "" - -#: order/templates/order/order_base.html:51 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:64 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" +msgstr "" + +#: order/templates/order/order_base.html:56 +msgid "Receive items" +msgstr "" + +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3427,6 +3295,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3448,19 +3318,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3503,7 +3373,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3521,104 +3391,62 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -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:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - -#: order/templates/order/sales_order_base.html:16 -msgid "This Sales Order has not been fully allocated" +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:66 -msgid "Packing List" +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:74 -msgid "Sales Order Details" +#: order/templates/order/sales_order_base.html:86 +msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3633,109 +3461,10 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -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 "" @@ -3760,187 +3489,135 @@ msgstr "" 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_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 -msgid "Ship Order" -msgstr "" - -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -4000,7 +3677,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -4032,459 +3709,458 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" +#: part/models.py:2826 +msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2599 +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +msgid "Low stock notification" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4495,28 +4171,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4529,93 +4200,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4654,12 +4335,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4684,313 +4360,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 +msgid "On Order" +msgstr "" + +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -5014,7 +4692,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -5048,36 +4726,44 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, 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 +#: part/templates/part/partial_delete.html:32 #, 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 +#: part/templates/part/partial_delete.html:43 #, 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 +#: part/templates/part/partial_delete.html:54 #, 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 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5110,7 +4796,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5132,7 +4818,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5152,12 +4838,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5170,135 +4857,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5335,51 +5027,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5396,569 +5088,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" msgstr "" -#: stock/api.py:154 -msgid "Improperly formatted data" +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" msgstr "" -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" +#: stock/api.py:422 +msgid "Quantity is required" msgstr "" -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" +msgstr "" + +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" +msgstr "" + +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" +msgstr "" + +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 +msgid "Destination stock location" +msgstr "" + +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -6012,98 +5717,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -6112,7 +5787,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -6133,104 +5808,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6254,74 +5925,70 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6338,23 +6005,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6362,129 +6029,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:56 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Categories" +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 +msgid "Signup" msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6496,70 +6108,160 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:20 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:74 +msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 -msgid "Set Theme" +#: templates/InvenTree/settings/user.html:76 +msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:78 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:84 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:85 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" +msgstr "" + +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:128 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" +msgstr "" + +#: templates/InvenTree/settings/user.html:167 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" +msgstr "" + +#: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6572,79 +6274,266 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm Email Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." +msgstr "" + +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:21 +#, python-format +msgid "" +"Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:25 +#, python-format +msgid "" +"If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:42 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:20 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:22 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" msgstr "" #: templates/image_download.html:8 @@ -6663,138 +6552,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6802,226 +6612,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 -msgid "Open subassembly" +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:287 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" msgstr "" -#: templates/js/translated/bom.js:294 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 -msgid "View BOM" +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" msgstr "" #: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 +msgid "Open subassembly" +msgstr "" + +#: templates/js/translated/bom.js:483 +msgid "Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:498 +msgid "Purchase Price Range" +msgstr "" + +#: templates/js/translated/bom.js:505 +msgid "Purchase Price Average" +msgstr "" + +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 +msgid "View BOM" +msgstr "" + +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:95 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" -msgstr "" - -#: templates/js/translated/build.js:135 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:145 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:154 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:249 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/js/translated/build.js:702 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:1262 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:1348 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:1377 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1378 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1389 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1451 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7041,7 +6994,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7085,53 +7038,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7139,53 +7092,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1457 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7197,6 +7158,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7242,62 +7208,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7305,480 +7271,728 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:77 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:236 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:208 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:301 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:326 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:428 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:430 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:450 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" +msgstr "" + +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/order.js:1226 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1244 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1286 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1535 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1579 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1585 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1596 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1719 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1779 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1793 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1421 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1435 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:980 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:990 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -7798,324 +8012,278 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 +#: templates/navbar.html:90 msgid "Login" msgstr "" -#: templates/navbar.html:114 +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -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 -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 -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 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/stats.html:9 +msgid "Server" msgstr "" #: templates/stats.html:13 @@ -8170,51 +8338,51 @@ msgstr "" msgid "Export Stock Information" msgstr "" -#: templates/stock_table.html:27 +#: templates/stock_table.html:20 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8250,34 +8418,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.mo b/InvenTree/locale/es/LC_MESSAGES/django.mo index 2343941a2a4bb6c1a1b8e2cf6c46bc2766f09be7..5fe6a6efb8efef80c37f18edd07f6f895cac5a2d 100644 GIT binary patch literal 12870 zcmb7}dypK(eaDA49AF+sU>ih6jzAK4r8@~>I37lilQ=k?4xNO-fbrb!+}`MRXI3-2 z_mHdr!2!n)Yzz(#P8{U;0XTwS*|D3ivK~6I=#opxS=`^3VG&e~yDs!*|0U!eiiJr&=BdkLCUpsCw^$ zi0&2N{a@6Zj5z#M^CqXFq(y&r)`bAKI_9&UD=gqnwGcYhaDJNHA$|0tBa--eRoNyop3((}vi{y(Aga~vP* z`I%7qTmm)D%c0u29%^0!$Pl~+)c9|KzXI=q=fX!IO?rO|CHIR^@#SD?nbg+FR%98$%*9ZLSs zL)HH>R6E~+(%<)>^zjs21z&`h!*^2oaCjZmcyEBcunN`wy-@mo4641Sq2}uusQN#J zYX4QJ@gB}g>FFfL)1mBVF_fN`!)34!YCP9N$vq3tg||c1dl*Vz2Ov}GJq5K6e&pW2 z9MNz1{FicsG<@{{gE0^X~oyD7$Rk>c|0byKN1^1q4jO*}|L!o)n}n#yTaU7tBJU=saZbbcz&oMr>>F?m z{ByVxz6vja=lhw?*3Cyay$T+!asrx z&HEAD3}1t?%K?l{_SWH#?Ba7!cKSsqJNqXndwRjW{|VH1Uxk|YV_8hn@7Yk_uZ8Eq z_qpdgVITLmx%&g|{wb*S@hW6$y)zM#CE~po>iG!Nye3fn%s`FrE~xp~=lBp*y~m*Z z-V;#s^p{ZU^ci>mA5iVQ4khPlOt!u|8=`t|nd4@t_jM?Fc0tYK$KX-$OK=5z7;2nP zL&@_7)I1!+q)5;2fYQrasCgZNm%@)i{(0Z$kNSTJO5UGARO%hR%zk$c)Oaq1T35qR z{oV=H?_*HkKMRk6{|b+WFFXDeuI2t05EXlU%WeBRpzLA>s-1hF?BGwJ^z-jf_IM0uOV+*45ce-vu{`~cFV_j9Q6`sZ8umca`5gK!W|L;iVB@<(#N3^mUyXhi)ELiKYE zJQB9yQE(Qj{ac{c=RWt5`%RvVJ@T8ixW0g8S%Q0_2S z#$yS^1xDHl*~ zqe!=ZK>0MKP0??L@(@LSXdC4oN}cjm$|;naDEUu1)Oy^XKY-Je^WFV5utm|FU*ewS z_@ukI5!T%Gm!RfPzjYL?;a!wj%I{F}->i2mI z^Y>i-?xdVd`7QH=wFuX{>(KFI@O>1_*c+f+McF{nZwuuQDOv~mok$5NEcxO$#?@xZ zIOP_~6%?PM-vs3o=F0Ov1(#Beb@va$3n{W~{U#~rP`;uY_sgJS!+n%ZlrKgG zBNY99*TTCUUQYQq<)f4aMSf4e1C$R?BHi%Q`tDHVXZ8CKJ91Bx#UArArCz@g0E?xT5QG3E~PehqN z9yP)^Xoh~!NW-8u>xVN@*3ML!Z=xjj<1nm+HE(@Tovf$o%AZcs$uRY+6Jd4I9}j3j zuhVK$>o(I2+Pu&FksxjR$=J@Y+J4hIqwSi!?QVon?3tP>yq#6ZnRA7cz zv|98#5o8m^ICBAuYTeF}oNxH+Z(vC7(u{6ANv+z(I#HwMC!Kby!??`N*0hGcOV^pZ zxuz4K$@Z+f9c>5gPW~>@N3I>enlxLDkO8=w^ItMOrB|kBzm}k4*?<|1U+O$>!q#J= z^Z8xaNoK^MZ$`Qyh^t{k)49RS?N~D7w-esQ<5Al5BTZ2)L`3X@Dp4F}e3Ueec|jw+ z9=Kr?SLV|!e=Z}ZK$1O+h7P_~1=m?Mjao+QrE7nAVx9$!6{^yXVym*!wVy8*Qz1=eO$Tk3Z02q3v>Fjh zDRdsA-``W;d#IrfO=>Mjjj7p%W9^ETlIwSvuB(2cyR zd1~A%V@K_A=0~irI?Yrkf)pEJh|Bg=_b%(!Y({u;IuGeE&ZObIHNT0m7)_3aekcuk zn~;^6*&H$(v9~!5!%6STa4Zd{y}^-T`+@ZhX;=?uFlPLE8vA>=*y{}*Buj+9S2S3@ zXJ+pTZ!pF?$R8NjgbfpM%nWy55QGw+6%sbb8nb*b6*QunPcJU&__Zj-_a|xhWq0KC z)>3>hs>;8uP9#w^ESj>nX0E6!35=I0-YX`xtnKD46lTy$lc`9-i#K7s9qstpY$h)@ z5e5xHpb23Zf{kH=S=M2!>k-vnjd6tnB2;@-&k)ng0QNi%10 zn}Nzgkm|w^OVy*b0Bx`$Hg19q|J+L~`c{dq%>7+BYATu*zJj50g zp-k|%mh2)hD<<%^$WpM9z_%0PvH|nhX@#X}LiWx2K=Z)7Bd`55uVcoiDKAwRmSGPw z>s8}{vsPG*#v=y8GwZ>vFZSoXu~zsd;_{_=FCDsOZB|o$(e*HlS1AuK4_eXoc{&}| zHEY9!##{x}PO8N+iv|gGys>{WZ`fo?iVWQzGR>bgv_rq1o`}c~CW5IDHHUFAEl5=~ z*NLNDo!q@T_s`18_O2)|%)(li@7cwg+j_OP)wuP{+d37d!~|PelNtLgH`Z~gS*2xs z6*Cv6Rh9)6=YOEIAe^a^z4?8;z2_7!?Wbi|5@XBlXe#uStntUjJG@`msAVNly%9V) zQ{;^(p4q>7R2yjoRZL(cF}`~wO==xu9$u0Cb=0`MDyvX>wRgr#R9%*89}$x}#E)4& zsL2a2c$nJh@J2f=dS_-wr^A{N#`@@TlCeEV>x{>wOzv8)7_2`uS$VhC zN|zqzO2rh?8jC0x$4qQiuWwg++b4p^+ulhhC5zG>^M|aUFbLDW**-acXAIM1M$;3C zPXJdOIjF+5QP@_fBWZqrIF_L>&xuEEVofcW%{;4ZkK`-~YIbC-CRuQ0uvWP?OqCM! z;|PdoZ6aFFwov&=WlL6%YL)e!dREz<^!q&{TPxebsYtaeQd_^jx_5P7rLVWr*XQ?M z*uVPXo}nOXSGK1?oHYV0jE{zhNF6*$WqTMj`+a8}#p8ZI%x)eS?b$N8WuPlc-^$(| zWxU8!**@E%r#6vqRja}By~N}>S=hd8$M#K?i@NpHE9b}M%Y3{VScQRgKU2=t@2|R{(DTY7hq%da^!2VPZdYj`H^Nn6ylQB}&07XWN7rp0 z7+qD{i7u0stzCSE)Gm~;VEFr`5)@rLJ~U{8>+Z7~rJBh}_!Z`R=p zqbYnzZ6}K_@vaZ-jy?1{u}?rRzr@kS42<;Ws0Ov7(z}h$iuf#TH?ercHCMq2UMYLk|)@*Dt%c zUrr9xJGZZx9!AYH=wRZYfee|1qmxf-!`ybKS@#;cnJ%&~h0lZ#%#K6bNcKjZDD~$K z;Az-;FL=QAgROfzs^Kx11$=Po4UoDscQk3H*0fMH`YC;`h#IR-rnKFf06tZQhF=&9 zc3RcNSwMOp>?A_bHZO;Q{EI`hFI%p1I#nh0wkC*9^Nuh{jm1eqJM$hmah)_+lvS_u zl0kXmc;m)5uLXC8AtA||m40dXOm72Xj;2GMW(29;gpG)uUST&4mQZ_cf3?#{%=rd? z*_@MH$rQJ<$)YYT^H8COOSX)SP&JYwGdE8+g`_MRjhVq{x9vfiw|#f7tb96mDWsUM zlTuZC2(qv((*pBS7{61W)qY9aMep;5U21=UHcE56K*#wo{4rKM1J+1Onk!!O84fKA z=N=146vHWIuz06=>Ao(#uxqh98s!>#ts@o9LSycs@x(YJ(|~ze=v${N&dSLt2ud8R z&^wbhV5gdu;V#gEox1#h#eU~bSZx0su~dnmr6U$wX~#ToQ^OdeII)K;orumhVjXOp z*<5s&xH4VVxIK2M5ugty3RagA}-&o zvT@mb@gVEi8J{=FgO~%ZZFhD4+?N``#H}AQYgKF3_(D4yNNTO7WYnc58z{yJDh;{N zsSD%X%rkUQ`q-ZL=rjfg7olC$Vq>Mzu#2be2neTYcJ_8#FKx96dqFL-77`w!{jT?z z*WR!R#}d(nbA`Es`!%Y=h=~f4FrC|H&Wp%Qbb#cJjX1}U8|!|a9~>#n%S?(vlkf~Z%Nr1IZG5r$8A>t6R>Z)DpYgvoVKeZHw3I_FLSCu^ z+GfO(B8^M%eWh!6w3X;=D~UDT8_d}j6KvAZfCGm%=d~t|;ln6-DvgfWbPfm@FY<7x6);^kzo}8J@!pzB-Ts3b>iZ@OG?=!cL^DuJo@-f-}TiNKw z?3C>qcP^Er*c_6PHTyBUolcB$T@EyyJKds^jQh=ExUKEB3Z>Tagv%(#`c8$3B3K-h zuji84O-HFECl@+*s%DnDG8TIjGmg0@wCQk*gf;8pkJ2vpd7$$!wlZceYy`xtyIUP1 zWRiB|T<8O2ljKZK zk1;$Gcol}ZC-1sowO)!e%{4c12ZqP2An>G!FPOR(*)Mq^=;@kOnoo1gA!*1(!ZlYpYcTojXsD5r>0%Vc z`xgHgnUXz{)Q&B5O%$^_?;RFA#nE|! zqB|iL?G7Wmv*-e@XLlaP2XQXrZX0v^3AAQIKYs&gYv-@6pGG^{=I5J4866s9WZeL` z(#N{zJ+TQJM-LnWve8zI&RQLUxIR~2;G1-u(@g$v%k3aI(_|z&+_u3nKi8Da7T=m> zCWqtp7{1(OsN8`-VOqB}+=(W;4R2&_U!7t2)8UxMda^rZlXKKCXq{^+1u{aZn+%I3 G6Zl^+ODLBB delta 104 zcmX?>a-7Nco)F7a1|VPrVi_P-0b*t#)&XJ=umECSprj>`2C0FAfTH}Y)Z`Lf&lKIT j)S}|d{5&g#$sMx#+y*APMurLomR82blMl)6XJh~X>!%T! diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 199e95b752..351f5a3483 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Spanish\n" @@ -33,260 +33,266 @@ msgstr "No se encontró ninguna acción coincidente" msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "Confirmar" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "Confirmar eliminación" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "Confirmar borrado de artículo" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "Introduzca contraseña" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "Ingrese su nueva contraseña" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "Confirmar la contraseña" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "Confirmar contraseña nueva" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "Seleccionar Categoría" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Número de serie duplicado: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "Grupo no válido: un {g}" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "Número de serie duplicado: {g}" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "Numeros de serie no encontrados" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "El número de números de serie únicos ({s}) debe coincidir con la cantidad ({q})" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "Archivo adjunto" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "fecha de subida" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "El nombre del archivo no debe estar vacío" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "Directorio de archivos adjuntos no válido" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "El nombre del archivo contiene el carácter ilegal '{c}'" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "Falta el nombre de extensión del archivo" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "Ya existe un archivo adjunto con este nombre" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "Error al cambiar el nombre del archivo" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "padre" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "Debe ser un numero valido" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "Nombre de Archivo" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "Ruso" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "Chino" @@ -302,196 +308,196 @@ msgstr "No se ha configurado el backend de correo" msgid "InvenTree system health checks failed" msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "Pendiente" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "Colocado" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "Terminado" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "Cancelado" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "Perdida" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "Devuelto" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "Enviado" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "Atención necesaria" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "Dañado" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "Destruido" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "Rechazado" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "Entrada antigua de rastreo de stock" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "Artículo de stock creado" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "Elemento de stock editado" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "Número de serie asignado" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "Stock contado" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "Stock añadido manualmente" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "Stock eliminado manualmente" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "Ubicación cambiada" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "Instalado en el ensamblaje" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "Retirado del ensamblaje" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "Artículo del componente instalado" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "Elemento de componente eliminado" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "Separar del elemento principal" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "Dividir elemento secundario" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "Enviar al cliente" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "Devolución del cliente" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "Trabajo de ensamblaje creado" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "Construir orden de salida completado" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "Recibido contra la orden de compra" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "Producción" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "No es un código de moneda válido" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "Carácter no válido en el nombre del artículo" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "El IPN debe coincidir con la expresión regular {pat}" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "La referencia debe coincidir con la expresión regular {pattern}" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Carácter ilegal en el nombre ({x})" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "El valor excedente no debe ser negativo" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "El excedente no debe superar el 100%" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "El excedente debe ser un valor entero o un porcentaje" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "Eliminar elemento" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "Marque la casilla para confirmar la eliminación del artículo" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "Editar datos del usuario" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "Configurar Contraseña" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "Información del sistema" @@ -535,599 +541,584 @@ msgstr "El código de barras ya está asignado a un objeto de inventario" msgid "Barcode associated with StockItem" msgstr "Código de barras asignado al objeto de inventario" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "Número de orden de construcción" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "Fecha objetivo de pedido" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "Fecha objetivo" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "Cantidad" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "Número de elementos para construir" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "Números de serie" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "Confirmar la creación de salida de construcción" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "Confirmar eliminación de salida de construcción" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "Confirmar la desasignación de stock" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "Marcar como construcción completa" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "Unicación" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "Ubicación de las partes completadas" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "Estado" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "Generar estado de stock de salida" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "Confirmar incompleta" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "Confirmar la finalización con una asignación de stock incompleta" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "Confirmar la terminación de construcción" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "Confirmar cancelación" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "Confirmar la cancelación de construcción" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "Referencia" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "Parte" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los elementos completados" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "terminado por" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "Responsable" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Usuario responsable de esta orden" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "Link externo" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "Notas" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "Notas adicionales de construcción" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Build output does not match the parent build" +msgstr "La salida de la construcción no coincide con el orden de construcción" + +#: build/serializers.py:150 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Output part does not match BuildOrder part" +msgstr "La salida de la construcción no coincide con el orden de construcción" + +#: build/serializers.py:154 +#, fuzzy +#| msgid "Build output is already completed" +msgid "This build output has already been completed" +msgstr "La construcción de la salida ya está completa" + +#: build/serializers.py:158 +#, fuzzy +#| msgid "Build output is already completed" +msgid "This build output is not fully allocated" +msgstr "La construcción de la salida ya está completa" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "Unicación" + +#: build/serializers.py:191 +#, fuzzy +#| msgid "Location of completed parts" +msgid "Location for completed build outputs" +msgstr "Ubicación de las partes completadas" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "Estado" + #: build/serializers.py:213 +#, fuzzy +#| msgid "No build output specified" +msgid "A list of build outputs must be provided" +msgstr "No se ha especificado salida de construcción" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +#, fuzzy +#| msgid "Build Quantity" +msgid "Build output" +msgstr "Cantidad a crear" + +#: build/serializers.py:278 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Build output must point to the same build" +msgstr "La salida de la construcción no coincide con el orden de construcción" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" -msgstr "Número de serie" +#: build/tasks.py:92 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock required for build order" +msgstr "Usuario responsable de esta orden" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" -msgstr "" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" +msgstr "Fecha objetivo" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" -msgstr "Progreso" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" +msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "Completados" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Emitido por" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1166,203 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "Destinación" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "Lote" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "Completados" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" -msgstr "" +#: build/templates/build/detail.html:232 +#, fuzzy +#| msgid "Build Quantity" +msgid "New Build Output" +msgstr "Cantidad a crear" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" -msgstr "" +#: build/templates/build/detail.html:246 +#, fuzzy +#| msgid "Options" +msgid "Output Actions" +msgstr "Opciones" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." -msgstr "" +#: build/templates/build/detail.html:250 +#, fuzzy +#| msgid "Completed items" +msgid "Complete selected items" +msgstr "Elementos completados" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" -msgstr "" +#: build/templates/build/detail.html:251 +#, fuzzy +#| msgid "Completed items" +msgid "Complete outputs" +msgstr "Elementos completados" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1370,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "Detalles" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1394,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1406,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1418,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1426,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1479,728 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "días" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2246,7 @@ msgid "Contact phone number" msgstr "Teléfono de contacto" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "Email" @@ -2337,10 +2263,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2274,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2302,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2311,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2321,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2357,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2366,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2376,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2391,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2427,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Nota" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2451,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2459,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2505,133 @@ msgstr "" msgid "Phone" msgstr "Teléfono" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "Cliente" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "Opciones" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2639,174 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "Fabricantes" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "Eliminar" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#, fuzzy +#| msgid "Edited stock item" +msgid "Create new stock item" +msgstr "Elemento de stock editado" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2819,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "Fabricantes" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2840,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2869,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2914,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2926,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3171,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3183,74 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" -msgstr "" +#: order/templates/order/order_base.html:33 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Print purchase order report" +msgstr "Recibido contra la orden de compra" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +#, fuzzy +#| msgid "Production" +msgid "Order actions" +msgstr "Producción" + +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3326,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3349,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3404,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3422,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3441,43 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3492,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3520,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3560,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3627,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3708,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,456 +3740,465 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +#, fuzzy +#| msgid "Confirm stock allocation" +msgid "Low stock notification" +msgstr "Confirmar asignación de stock" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" -msgstr "" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +#, fuzzy +#| msgid "Options" +msgid "BOM actions" +msgstr "Opciones" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Eliminar elemento" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4208,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4237,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "Seleccionar Categoría" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Seleccionar Categoría" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Seleccionar Categoría" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Seleccionar Categoría" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Seleccionar Categoría" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "Exportar" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4382,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4407,321 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Details" +msgid "Part Details" +msgstr "Detalles" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +#, fuzzy +#| msgid "Export" +msgid "Export actions" +msgstr "Exportar" + +#: part/templates/part/detail.html:375 +#, fuzzy +#| msgid "Export" +msgid "Export BOM" +msgstr "Exportar" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4745,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4779,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4849,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4871,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4891,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4910,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5080,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5141,586 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" +msgstr "Número de serie" + +#: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of stock items to build" +msgid "Enter number of stock items to serialize" +msgstr "Número de objetos existentes a construir" + +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:308 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new items" +msgstr "Introduzca los números de serie de salidas de construcción" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "Guardar" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5774,70 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "Confirm stock allocation" +msgid "Top level stock location" +msgstr "Confirmar asignación de stock" + +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5846,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5867,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5984,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6064,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6088,76 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit User Information" +msgid "Edit User Setting" +msgstr "Editar datos del usuario" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6173,160 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +#, fuzzy +#| msgid "Email" +msgid "Add Email" +msgstr "Email" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Seleccionar Categoría" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Seleccionar Categoría" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6341,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6481,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6511,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Introduzca contraseña" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6534,83 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock is required for the following build order" +msgstr "Usuario responsable de esta orden" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Build Quantity" +msgid "Required Quantity" +msgstr "Cantidad a crear" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Build Quantity" +msgid "Minimum Quantity" +msgstr "Cantidad a crear" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6627,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6687,375 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Separar del elemento principal" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Completed items" +msgid "Complete Build Outputs" +msgstr "Elementos completados" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +#, fuzzy +#| msgid "No build output specified" +msgid "No active build outputs found" +msgstr "No se ha especificado salida de construcción" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "Confirmar asignación de stock" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7075,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7124,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7160,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7173,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Debe ser un numero valido" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7241,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7291,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7354,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7394,698 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "Source Location" +msgid "New Stock Location" +msgstr "Ubicación de la fuente" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Enter quantity for build output" +msgid "Enter initial quantity for this stock item" +msgstr "Ingrese la cantidad para la producción de la construcción" + +#: templates/js/translated/stock.js:195 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Introduzca los números de serie de salidas de construcción" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created new stock item" +msgstr "Elemento de stock editado" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created multiple stock items" +msgstr "Elemento de stock editado" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "Detalles" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8105,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8375,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8432,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8511,64 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" +#~ msgid "Build Order reference" +#~ msgstr "Número de orden de construcción" + +#~ msgid "Order target date" +#~ msgstr "Fecha objetivo de pedido" + +#~ msgid "Number of items to build" +#~ msgstr "Número de elementos para construir" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "Confirmar la desasignación de stock" + +#~ msgid "Build output stock status" +#~ msgstr "Generar estado de stock de salida" + +#~ msgid "Confirm incomplete" +#~ msgstr "Confirmar incompleta" + +#~ msgid "Confirm completion with incomplete stock allocation" +#~ msgstr "Confirmar la finalización con una asignación de stock incompleta" + +#~ msgid "Confirm build completion" +#~ msgstr "Confirmar la terminación de construcción" + +#~ msgid "Progress" +#~ msgstr "Progreso" + +#~ msgid "Save" +#~ msgstr "Guardar" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index c44418473a..5162bf6bc2 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/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-11-19 07:42+1100\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -131,8 +131,8 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1170 -#: common/models.py:1171 part/models.py:2205 part/models.py:2225 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2054 msgid "User" @@ -234,7 +234,7 @@ msgid "Spanish" msgstr "" #: InvenTree/settings.py:667 -msgid "Spanish (Mexican" +msgid "Spanish (Mexican)" msgstr "" #: InvenTree/settings.py:668 @@ -544,7 +544,7 @@ msgstr "" #: build/forms.py:36 build/models.py:1283 #: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:35 common/models.py:1210 +#: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 #: order/templates/order/order_wizard/match_parts.html:30 @@ -1454,688 +1454,688 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:338 common/models.py:955 common/models.py:1163 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:340 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:375 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:380 +#: common/models.py:382 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:403 +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:414 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:437 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:544 +#: common/models.py:559 msgid "No group" msgstr "" -#: common/models.py:586 +#: common/models.py:601 msgid "Restart required" msgstr "" -#: common/models.py:587 +#: common/models.py:602 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:594 +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:596 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:600 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:601 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:607 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:608 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:613 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:614 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:620 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:621 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:627 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:628 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:634 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:635 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:641 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:642 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:646 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:647 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:653 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:654 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:660 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:661 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:667 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:668 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:674 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:675 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:681 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:682 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:688 part/models.py:2429 report/models.py:187 +#: common/models.py:703 part/models.py:2429 report/models.py:187 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:689 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:695 part/models.py:888 templates/js/translated/bom.js:954 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:696 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:702 part/models.py:894 +#: common/models.py:717 part/models.py:894 #: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:703 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:709 part/models.py:905 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:710 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:716 part/models.py:910 +#: common/models.py:731 part/models.py:910 #: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:717 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:723 part/models.py:900 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:94 #: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:724 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:730 part/models.py:920 +#: common/models.py:745 part/models.py:920 #: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:731 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:737 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:738 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:744 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:745 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:756 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:757 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:763 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:764 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:770 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:771 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:777 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:778 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:784 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:785 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:791 +#: common/models.py:806 msgid "Part Name Display Format" msgstr "" -#: common/models.py:792 +#: common/models.py:807 msgid "Format to display the part name" msgstr "" -#: common/models.py:799 +#: common/models.py:814 msgid "Enable Reports" msgstr "" -#: common/models.py:800 +#: common/models.py:815 msgid "Enable generation of reports" msgstr "" -#: common/models.py:806 templates/stats.html:25 +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:807 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:813 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:814 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:824 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:825 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:831 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:832 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:838 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:839 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:845 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:846 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:848 +#: common/models.py:863 msgid "days" msgstr "" -#: common/models.py:853 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:854 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:860 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:861 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:867 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:868 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:874 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:875 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:880 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:881 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:885 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:886 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:891 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:892 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:898 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:899 +#: common/models.py:914 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:904 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:905 +#: common/models.py:920 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:910 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:911 +#: common/models.py:926 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:916 +#: common/models.py:931 msgid "Email required" msgstr "" -#: common/models.py:917 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:922 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:923 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:928 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:929 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:934 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:935 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:940 +#: common/models.py:955 msgid "Group on signup" msgstr "" -#: common/models.py:941 +#: common/models.py:956 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:986 +#: common/models.py:1001 msgid "Show subscribed parts" msgstr "" -#: common/models.py:987 +#: common/models.py:1002 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:992 +#: common/models.py:1007 msgid "Show subscribed categories" msgstr "" -#: common/models.py:993 +#: common/models.py:1008 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:998 +#: common/models.py:1013 msgid "Show latest parts" msgstr "" -#: common/models.py:999 +#: common/models.py:1014 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1004 +#: common/models.py:1019 msgid "Recent Part Count" msgstr "" -#: common/models.py:1005 +#: common/models.py:1020 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1011 +#: common/models.py:1026 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1012 +#: common/models.py:1027 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1017 +#: common/models.py:1032 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1018 +#: common/models.py:1033 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1023 +#: common/models.py:1038 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1024 +#: common/models.py:1039 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1029 +#: common/models.py:1044 msgid "Show low stock" msgstr "" -#: common/models.py:1030 +#: common/models.py:1045 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1035 +#: common/models.py:1050 msgid "Show depleted stock" msgstr "" -#: common/models.py:1036 +#: common/models.py:1051 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1041 +#: common/models.py:1056 msgid "Show needed stock" msgstr "" -#: common/models.py:1042 +#: common/models.py:1057 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1047 +#: common/models.py:1062 msgid "Show expired stock" msgstr "" -#: common/models.py:1048 +#: common/models.py:1063 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1053 +#: common/models.py:1068 msgid "Show stale stock" msgstr "" -#: common/models.py:1054 +#: common/models.py:1069 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1059 +#: common/models.py:1074 msgid "Show pending builds" msgstr "" -#: common/models.py:1060 +#: common/models.py:1075 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1065 +#: common/models.py:1080 msgid "Show overdue builds" msgstr "" -#: common/models.py:1066 +#: common/models.py:1081 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1071 +#: common/models.py:1086 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1072 +#: common/models.py:1087 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1077 +#: common/models.py:1092 msgid "Show overdue POs" msgstr "" -#: common/models.py:1078 +#: common/models.py:1093 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1083 +#: common/models.py:1098 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1084 +#: common/models.py:1099 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1089 +#: common/models.py:1104 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1090 +#: common/models.py:1105 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1096 +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1097 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1103 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1104 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1110 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1111 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1117 +#: common/models.py:1132 msgid "Search Show Stock" msgstr "" -#: common/models.py:1118 +#: common/models.py:1133 msgid "Display stock levels in search preview window" msgstr "" -#: common/models.py:1124 +#: common/models.py:1139 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1125 +#: common/models.py:1140 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1131 +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1132 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1138 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1139 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1145 +#: common/models.py:1160 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1146 +#: common/models.py:1161 msgid "InvenTree navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1211 company/forms.py:43 +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1218 company/serializers.py:264 +#: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 #: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1219 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.mo b/InvenTree/locale/fr/LC_MESSAGES/django.mo index 71c5e169163d4e95748145ef537da8839930b0c2..a3751f6c99f9c26640e5367739a75411e1942162 100644 GIT binary patch literal 7801 zcmb7|UyNPHUB@TsKiG!;BZY=iI!!5SC%N8TJAd4D?bd6r?M-&=?e02lNJ}_-@7%k` zKKGpK^JndiaUWW!gpjIK2&szH5+YEuMXK@;i3i{%mp-6~hYCs&P?GXO6%|z=DyT#y zKHr(SckkNq14ldeduGneZ+`RpKl?B5dGj9_o{aX(wBLG@F&g;ixAMa?`?JRU0yqc$ zJa`U#H~1NF4$Q&(z~?~Cdj*^V{}p^Y`0wDmz@LEpnJGU03V1j8VekmJ0)7hA{(l1g z68JKx`QHQI2L2oPGvJS6|9`-D(AOsK1>OnX4SodFe)HhZfscV&{{+aNNh0<^@w)?R zpJzbLdluCBo(Jy(Ujjw{)rdci`1ZTPybpom`v@q$S3%La48o$R!1sWk1I6!`LGkq* z$e;NpKN9tyM|>I7`o9KIh50rp{=Ng=3%&||5WEv2?*s1ze-S(eO0Mgm_A9}Az~2Es z0{$WRe(+nMy*PYcvOE1>r2f};C5@Gan1z!Tutz&pY3 zfr!Yw21*}41hvl{?+oX9E2#6n1C)H;3repR)P4s+op%ZRHEIS%q?*7$)n(*`B)GLAnDivI6`h{QY(N}ex*T0e~6 z{~?b52t362ofwVi%z--ZM35;ZMto*uMbkJY7(H z3?lA;@~_Xw?_UJx=syE$|Cd2TZhint?*9uu0KN~V5Q$j?b&e-N$#ol)e?AW)YV$2n z{_&6CQSdcT``yDLUd;!qYPY_;;Yr@l#OiKa3H}Zyo}*{v0TN*CJj4CEsU2?eoVVM>Kx{Lc)9()H(kP zR2-OMvHWTd)VUr8C7%UQ=RXH(zYC!3U=zf>%qMB1=Qnwop~){=w9)gcyd0-p9t}+3 zqw)P?pyav|`{EJSye<`QR%xIbakMwee_J}$>(z_l)hkx4q%4YODNn56E z(SDt#NAlaC9j2Y9$$zE03$)MBWM8wiBQ!mdn{07io%qOCCZCVSP6qx)d|v=RL6dw> z(WKWCw9#{4d~u+3p*Zv~O?EAvr!?He9HZ&!&>r`1dq1+7&(aRkPST{?`)LVn^vE8& zqYfy&&eNplOEl?snkIjdPp;8qdp(+bWRs@H`ri;oKh3-Bdx`cb+8j;x_Z00k?Jk-g z*_7;14=&-KC-^-Z-_6O@CF}Ceph)xD=0$D0MU!{T$t)|b+SAP-OWR59?9%G_IJVeH z>oo68jI_6syr-dh%TKi1N!B=fbt}!Bb#Z!P2T55+8vQ1#(*a*KR@u6+)mBnEPoPTr zal5KYd%5e_%9Ux7*}Um*y3(Ai>!iKacR9qyua({zN{ig)&UG9o*iOOoUKV3UgFRm~PUnN8JY$BsVKC42;i!kV(fys*-?i$3zG z#m*aigfV?OmE>)giRV*A-%9}W%NWSJY1tp4?Kn{zcRlBR3<-@#b9WU!s|u-zq^B@3 zpj{=<(`;@|C;g2kwKNZMtXwUdWAWG^gHg=e>%ALqG@9QqGE{q!d3Gu97A0yG zpBj}-)ddzHv6#g^eA!KugCF?q+Y&{uDdBptKd5*1TOeyom@$iaFH5T}Q2OpjNa1y# zSi{g*%8S>SoMX+)X@1$9k%ypqugf!~%iCM#tb^6uoWo+|bg|hr*K^m@3kK+o)Rr1V zMA&|r+v~jCFiRLnj}7oj3{I>e#avEx;QF;22hCDm)yNka$mWV1uL*M4`#>ltu-MA= zH?tiU;Lj=3CkcA<7S-`*dDtN6W3=K*li-rbZ%`K7shpB8F5f7fv(*l6(zjbK$?C1( zkk!Z|mpMQise2uHw^4L~(Q?Nu7sMl3rH?w0TrR5GtjK3W=;F6To582iN@C87&GVe7 z?H2~$Ok4W7nI=KN6quZ&qU!*;%Z7MbO$kaw0-R=bKZwA zTXb!cr&oxP`>3Fx>c+uI{f-5A;QAF*ci}N}!3Pb6rYgRd?n;wls@_v7qfcfPOO}bQ z7T!Wv%c9fx!<$b=m6$cxcIh_Dl3tQx5_Zs(h_rH+U_h8%b6qF?-QL?IXOlK3#@4vz>ZT+suqwQS zIMOC67k&6%CqA`ndkS~#71&GccjalaYM(N09wn*}kw&B5wwdcgJA*g~y@?%sItse1 z%=%V37{Jdusj|i@M~Na1cgPW3KI&z$w2FoBa zvmU%?GQe$+gcs5*la=8XK6h5gHYfb%6Im$Q%SKaPRuog9G@WFpGJ#nWWD?@qb$R+B zTsdi;_jllot)jr?ugd{=5xw zay&YZ0X%hPZE9s{WpR&_xkIy4WHi+Tt&N=l8`bVwJu}D_NGYn7gUS_^9a` z@~HL`#jGf+(Ay(2-Q?7a>F@=@(jKAVb5cZ=vb>64{Yv>UW+NtTfB219R^qqA-Leqr zikFna4|dW`csHw_w7n!jutQ3WtYUAn!t^1xq9#f!5@@O#bNIWeDLua&MRdC=oc+-o zry2}*sZ1qPEvs-sPI%MQ2PE$xM&k1Dn`nb%Z-=`z`C1jL6d4N>UjY*U z%VhXtA~ax)v= zBK@GRQi)Y~w<_LXJXJFoWu4o8@KSI!yG033&U6%h&9+M#Y|@KX72CLec29d7n*5^Z z&ek3-}(3I2yfJH#{Zp?E^lAHET(;(bm@O=gM>JXPjBH`<_wtv zcVJ8I$uOOB-NfH~S)(B5i*?^y_OZ;n=ALikGv3fT!xw@;LLDFK_fx)XSA7SCov4)2?o)m+v(Ucbm_{Hw)0VL zY$e3|PJ=>50aABi!V+F9A_G|Rrrs&?oB?)kCL=2ac%RJFR!|(@145|uF(-W4Q_=sE z`hLojWQY1R;ks7OoUkyhYqO8sqjKCcLKa>m-uVB#kS>d?P|;w{B%5VS zexv&a*16_}UzbYcqjoct1ns!9SsU(lIfcJ(kTkH1Q8%QuJ&Er39k~qYMz{UFYX_^j ziufcO?IK~{eRh*WjVA<0!-^@2dvM2LABz zw!^`2C0FAfTH}Y)Z`Lf&lKIT j)S}|d{5&g#$?byr+y*APMurLomR82blMf2+Wn=&V?Y$9% diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 6a73b7e40a..80493f50de 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: French\n" @@ -33,260 +33,266 @@ msgstr "Aucune action correspondante trouvée" msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "Confirmer" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "Confirmer la suppression" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "Confirmer la suppression de cet élément" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "Sélectionnez une catégorie" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Dupliquer le numéro de série: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "Groupe invalide : {g}" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "Numéro de série dupliqué: {g}" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "Description" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "Français" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "" @@ -302,196 +308,196 @@ msgstr "Backend d'email non configuré" msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "En attente" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "Terminé" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "Annulé" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "Perdu" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "Expédié" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "Attention requise" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "Endommagé" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "Détruit" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "Rejeté" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "Ancienne entrée de suivi de stock" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "Article en stock créé" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "Article de stock modifié" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "Numéro de série attribué" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "Stock comptabilisé" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "Stock ajouté manuellement" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "Stock supprimé manuellement" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "Emplacement modifié" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "Installé dans l'assemblage" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "Retiré de l'assemblage" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "Composant installé" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "Composant retiré" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "Séparer de l'élément parent" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "Envoyé au client" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "Retourné par le client" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "La sortie de l'ordre de construction a été créée" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "Sortie de l'ordre de construction terminée" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "Reçu contre bon de commande" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "Fabrication" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "Code de devise invalide" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "Caractère invalide dans le nom de la pièce" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "La référence doit correspondre au modèle {pattern}" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Caractère invalide dans le nom ({x})" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "Informations système" @@ -535,599 +541,570 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "Quantité" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "Emplacement des pièces terminées" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "Référence" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "Pièce" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "Notes" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:150 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:154 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:158 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "" + +#: build/serializers.py:191 +#, fuzzy +#| msgid "Location of completed parts" +msgid "Location for completed build outputs" +msgstr "Emplacement des pièces terminées" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "" + #: build/serializers.py:213 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +#, fuzzy +#| msgid "Build order output created" +msgid "Build output" +msgstr "La sortie de l'ordre de construction a été créée" + +#: build/serializers.py:278 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" +#: build/tasks.py:92 +msgid "Stock required for build order" msgstr "" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1152,197 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "Commander les pièces requises" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "Commander des pièces" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" +#: build/templates/build/detail.html:232 +msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" +#: build/templates/build/detail.html:246 +msgid "Output Actions" msgstr "" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." +#: build/templates/build/detail.html:250 +msgid "Complete selected items" msgstr "" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" -msgstr "" +#: build/templates/build/detail.html:251 +#, fuzzy +#| msgid "Complete" +msgid "Complete outputs" +msgstr "Terminé" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "Pieces jointes" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1350,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "Détails" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1374,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1386,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1398,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1406,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1459,730 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +#, fuzzy +#| msgid "Order required parts" +msgid "Restart required" +msgstr "Commander les pièces requises" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "jours" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2228,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2337,10 +2245,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2256,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2284,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2303,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2348,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2358,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2373,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2409,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2433,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2441,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2487,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2621,174 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#, fuzzy +#| msgid "Edited stock item" +msgid "Create new stock item" +msgstr "Article de stock modifié" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2801,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2822,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2851,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2896,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2908,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3153,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3165,74 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" -msgstr "" +#: order/templates/order/order_base.html:33 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Print purchase order report" +msgstr "Reçu contre bon de commande" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +#, fuzzy +#| msgid "Order Parts" +msgid "Order actions" +msgstr "Commander des pièces" + +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3308,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3331,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3404,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3423,43 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3474,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3502,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3542,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3609,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3690,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,456 +3722,461 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "IPN" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +msgid "Low stock notification" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Supprimer cet élément" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4186,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4215,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "Sélectionnez une catégorie" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Sélectionnez une catégorie" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Sélectionnez une catégorie" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Sélectionnez une catégorie" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Sélectionnez une catégorie" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4360,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4385,317 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Details" +msgid "Part Details" +msgstr "Détails" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4719,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4753,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4823,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4845,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4865,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4884,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5054,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5115,584 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "No serial numbers found" +msgid "Enter serial numbers for new items" +msgstr "Aucun numéro de série trouvé" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "Enregistrer" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5746,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5816,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5837,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5954,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6034,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6058,76 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit User Information" +msgid "Edit User Setting" +msgstr "Modifier les informations utilisateur" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6143,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Sélectionnez une catégorie" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Sélectionnez une catégorie" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6309,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6449,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6479,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Entrer le mot de passe" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6502,81 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Quantity" +msgid "Required Quantity" +msgstr "Quantité" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "Disponible" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Quantity" +msgid "Minimum Quantity" +msgstr "Quantité" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6593,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6653,373 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +#, fuzzy +#| msgid "Available" +msgid "Substitutes Available" +msgstr "Disponible" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" -msgstr "Disponible" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" +msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Séparer de l'élément parent" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7039,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7088,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7124,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7137,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7203,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7253,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7316,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7356,692 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created new stock item" +msgstr "Article de stock modifié" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created multiple stock items" +msgstr "Article de stock modifié" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "Détails" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8061,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8331,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8388,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8467,37 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" +#~ msgid "Save" +#~ msgstr "Enregistrer" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.mo b/InvenTree/locale/he/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..3427265ca5abd9ab05c351cb936eb41172cbc523 GIT binary patch literal 574 zcmZWm$xg#C5G~6oN6s94fE&};X+gnNgrEyVYDGl@LP7|cb_hYijvSXo>TmFSd<&BT zZ3QDe*>4ul_|50m=0}Zejj&DFA#4!#2$h9|&GlOCkj^S+VMA-4aO@zSz!lmuGg`7t zzo2#&(YwIHSOMNa2Rf>?HdY0@A?=8MAyplcQUEKEu@u0h$MAW(0HrmlRkh~Yv$l;swi(F;8 z#m0}ymgu6(qzB%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4334,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4691,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4725,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4795,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4817,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4837,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4856,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5026,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5087,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5716,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5786,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5807,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5924,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6004,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6028,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6111,154 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6273,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6413,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6443,11 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" msgstr "" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6464,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6551,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6611,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +6993,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7078,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7091,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7157,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7207,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7270,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7310,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8011,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8281,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8338,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8417,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/id/LC_MESSAGES/django.mo b/InvenTree/locale/id/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..e0106c400d007f936f6ebd3eb35d1c4d5539fa13 GIT binary patch literal 521 zcmZWl%TB{E5Cp*~N6s94;K(*k3Mi!N0s26Z8d0?YAt6+m!~|Ea9ocSy58=D`1HOe# zfwY2^M)rDVy|eRqu>Zb;v5PoF93l1)$A~&2#0M77@vJ#bjE$c2+(A;nEjLzZ6%(OW zTsgzJH{q2w4pLi+0xp-Og-pl98(+hOuSCs;K65-KAq@ivCzJa#3WILR@@4vnhH)XW=Y>mlXS3A6SSz;)5@VF$lfX(=J>1gE6IfF zko=h$%U$;-8$z_<)q|h7fq}|(AygTY=utRtESH8!7;3YyF;UezwcVgYzOP-{@$R5! z^b0n@k2l+f{3}AzkIBht*rs%=^LN*JqpjzmkSO23ZwziFwbdC~{Xk?u{U-IL&Y9#s fSN^CsO9#{G#noWy7jraGw<`VT)3u7A9eF!nw!fY% literal 0 HcmV?d00001 diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 1ccc38461c..39780487cc 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: Indonesian\n" @@ -33,260 +33,266 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "" @@ -302,196 +308,196 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "" @@ -535,599 +541,566 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:150 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:154 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:158 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "" + +#: build/serializers.py:191 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "" + #: build/serializers.py:213 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +msgid "Build output" +msgstr "" + +#: build/serializers.py:278 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" +#: build/tasks.py:92 +msgid "Stock required for build order" msgstr "" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1148,195 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" +#: build/templates/build/detail.html:232 +msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" +#: build/templates/build/detail.html:246 +msgid "Output Actions" msgstr "" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." +#: build/templates/build/detail.html:250 +msgid "Complete selected items" msgstr "" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" +#: build/templates/build/detail.html:251 +msgid "Complete outputs" msgstr "" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1344,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1368,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1380,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1392,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1400,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1453,728 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2220,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2337,10 +2237,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2248,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2276,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2285,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2295,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2331,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2340,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2350,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2401,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2425,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2433,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2479,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2613,172 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2791,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2812,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2841,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2898,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3143,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3155,70 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" +#: order/templates/order/order_base.html:33 +msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" +msgstr "" + +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3294,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3317,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3390,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3409,43 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3460,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3488,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3528,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3595,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3676,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,455 +3708,458 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +msgid "Low stock notification" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4334,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4691,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4725,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4795,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4817,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4837,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4856,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5026,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5087,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5716,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5786,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5807,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5924,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6004,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6028,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6111,154 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6273,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6413,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6443,11 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" msgstr "" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6464,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6551,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6611,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +6993,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7078,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7091,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7157,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7207,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7270,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7310,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8011,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8281,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8338,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8417,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/it/LC_MESSAGES/django.mo b/InvenTree/locale/it/LC_MESSAGES/django.mo index 900921d249eb26795e2913500959daa683a1746e..2f4d8f50753499768bef4bc7fa1c23f15ec7259c 100644 GIT binary patch literal 6061 zcmZ{nTWlRi8OOJ!EscAjH*TfCq_lM$dSW~2C3PCWb?n5g?YKTp2(%?#?-?I&vuF2Y zFLq3bAVuOLcmq^~kP5sMAubP4sYpd26&1v-t#~M<0z`R0l>oJULJ-+cb_RTq3E;5kmaj&{wPg5ZAI@)x}7`~LlzZJX^yapTuwf~)<*3W{M zfJZ>d6@vT)r})vjhdq83ypaC)!7ITZfs*TKP;&hZ)PDa3rO!qDTm@bUN{$=AtHC|s zrQktO@-Biy-~*uc`K-rpfil@oJpLTi`M>u4=fHQ+{{#4T@KsRqY(p8@?Iuv?PJ)tS z5qu}u25$t>80#z0IE zEPy)ie((d}DtJElIH+@<0CnEaJpKYih2VFf{w1LNay_W;_WJR0 zQ2QPO-vT}e>bou|JwD^-AMyC8AAby#UQdAh1<&v!d;JL%UtR$47NbY`(^M3@H^nU!Dqnh!GD6X z>lKhs`(F!c{dSK#J?;Uu&z+!numFlzCqe1+MNo2m)8qF*`R&J`_J0nPzAt)w4b(Z? zFpA{93Y1@N2DRS|D7%Cpp9V1~{+#ynkAUx^|6M=-EGRp_1l|I^0!q&tA=6FZ1gP^K z0<~`eiub2||12o|J`cLQ0BZe{pw|BplpNA+mGwP*-1lMe~VstWP|%@2WXO0k9eo&!?Y>d5!xNJNt$%Mk2XPjfHp$Y zBkmodeS{`G57PG1^vux|dwK?G(r1jOe02})PMUnbho(ny*n4i~6xMJ zaBtjYplqW@Hq*Rt8fJF+&JFS- zj>~UDeqfi!dqMGVmi8gqC{53Cn&M?Q?V~h3hiUt0q~5^L#6NMO_lW2FY078N$Hf5< zyq~t6)>LPFe%jcy)y?9xG-+0v<*Z6u!FW-`?bNnRVe>dlOj>o8Y#xl4Wf-k=Y+7!5 zHEVIXV#<}cFw1db)39SrnB+EWts8qPF3Lh5vnI|`lUm!dt>CUOI?>K`lv&I26E-)| zij7W~<&YhiuHvL+vb@DaR+ZhVG*Q;+CboQoNlw$$M3_c4(GC+UacT=2Ok^D=F6fps zkS@o0r-!CxwQIi{m$p-nA#Hy&wQHsu76r1hb-lyJz=5z6wmI{FEuuW`O3%&jW=H16 z!emIpWuC3; zwX2*1COh47eXIXio5yK8m`vMAT(DzWV&E1+_}49Z*0X)JC-XeZO)mekhjVo>g}3Ax zXJU2ad^hS?fHY+or-g~}NgEnPD`6f+I&|=KbY^hl%T5g8*wvnbD1{8z+s$;UqGslj zHC8$WQwV`Q4%)mEroqA7+7rPcyOi6tU^*?zPy}#%$x>KXn`&bMqGtwQ+Rjq4&Vto2 ziCZS@GuyP{+(u=VZ%l589jCZGM;__fTN|xpakSADue-H7dtaQaLgx_P!5D*%|W z=^~<=V!aUOR&1CMMlK8pq&g0!Q6@&myTfki=zLEG)6-xEYeqQNQK7`7C!F!p5}{`@ zSfx-y>QuCx$%-*7#AM5+O5>ANkNQ5lm>s8!Gefn%-PxvZwjHNW zo*4=b-xJJ3bVLf~lQ2Tc`ONWnKF?Z}(;&FlTRK>|pvS7<9Coi(9elc!7!n#?91i4VbV{FhQt3;)lAhgmp=w#3162J_kwL37Qvbok;*7zc}0enOoiI6XKT+fvLYuhyprB(W@P z)hPro$fS+wR^zD66~tpE7R^g&KCocBSzb0~i+0><+*P%U#$q;R2Idbp7VK)QuNw!j z)|lBnvU{{KI?@;&H6yo;?Y?7RCM?RvVjiYN5)zgynt|9ADYvm`!_JuTQPLmg*z)-F z;=t_m?Bs?hqq{~1NZq=K8jI^)PAbVZ!`%dW>~oo^u;uIsys{@Q(4|A#!T9E-D3aleWrfhzaur<_nXn7eFMiD6M44A+J?8!W~01r zvN3&N%-nM8?mZ(Tn^yMpm13KQl_JN?@O^zF@9Jlj2TU?LGTiSDCnSZ$4%>8iX5#ql zWV1PbaI!hvdI&>iySmvqn>r~*_v{_uTJWWT>V%Y}!tJ$+7Zl1i&&ZW78<1B>sO?lU z<1W|pGFfoLS%~~r1a2j%b7`% z!6kRq`LaR6!IjT@j!(F}6d(wlrd1+(1ruB92Ksg3 zpqCUTbeu%)#n>d~Dh!>-{pl^Ebgb^icw;&VNq5+AqkQOXY?$ibwg3oP=ph0XTD{&hCG6$_DNx4n!bDUgRHu3D^m3PD z?5h*Eg-h9xwJu96w_+M`nWNdcTgomiyGoTpETBVeh$&JCWVXQ~g>MnTMyd;fV<`_~ zQ1o)Qj)mW@c9BW3gUT3Qo!W!GTnQlrbm-M5y^z`@I_&iNU@+uy`nXND>K`?wdNEf zDsb?K*j9(C@l_7w4$qy6vK+P|VGA+1s$I70ebw8#pY;04Fw0kMTTY(CdQW{@=}z|r ziXldY$-Fe;j8B{vuj#c;pp<#4iB>ZLr7nXuGpXXXqi_%-dNmRL=odxPBv&Y0D7IEz z#-J|3m|5ToqdIZ){TM7D*J_246$4nRp9|3|j80Z~F{8dIx~h~n@ni&YNuJE;Gn*adwDlw6aLkyhYKf0GU#)1X4*DoEgLs|`NV%Kn>DUU=x>Pn z8$}>RmWpGQQX*?_xi`wz8461m`;=0>L`y}5XO5^2vAv3ls0#YhC`&3Wk$qh-1pfo` CnJ>2h delta 104 zcmZ3hf1Jtpo)F7a1|VPrVi_P-0b*t#)&XJ=umECSprj>`2C0FAfTH}Y)Z`Lf&lKIT j)S}|d{5&g#$%TCS+y*APMurLomR82blUMWYXJh~X$Zin- diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index d9a8643afa..f585ef8df7 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Italian\n" @@ -33,260 +33,266 @@ msgstr "Nessuna azione corrispondente trovata" msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "Conferma" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "Conferma eliminazione" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "Conferma eliminazione elementi" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "Conferma la nuova password" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "Selezione una categoria" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Seriale Duplicato: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "Gruppo non valido: {g}" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "Seriale duplicato: {g}" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "Utente" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "genitore" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "Nome del file" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "Cinese" @@ -302,196 +308,196 @@ msgstr "Server di posta non configurato" msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "In attesa" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "Inviato" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "Completo" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "Annullato" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "Perso" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "Spedito" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "Attenzione necessaria" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "Danneggiato" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "Distrutto" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "Respinto" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "Voce di tracciamento stock preesistente" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "Elemento stock creato" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "Elemento stock modificato" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "Numero di serie assegnato" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "Stock contato" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "Stock aggiunto manualmente" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "Stock rimosso manualmente" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "Posizione cambiata" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "Installato nell'assemblaggio" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "Rimosso dall'assemblaggio" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "Componente installato" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "Elemento componente rimosso" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "Diviso dall'elemento genitore" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "Inviato al cliente" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "Restituito dal cliente" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "Genera l'output dell'ordine creato" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "Build order output completato" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "Ricevuto contro l'ordine di acquisto" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "Produzione" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "Non è un codice valuta valido" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "Carattere non valido nel nome del file" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "" @@ -535,599 +541,568 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "Quantità" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:150 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:154 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:158 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "" + +#: build/serializers.py:191 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "" + #: build/serializers.py:213 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +#, fuzzy +#| msgid "Build order output created" +msgid "Build output" +msgstr "Genera l'output dell'ordine creato" + +#: build/serializers.py:278 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" +#: build/tasks.py:92 +msgid "Stock required for build order" msgstr "" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1150,197 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" +#: build/templates/build/detail.html:232 +msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" +#: build/templates/build/detail.html:246 +msgid "Output Actions" msgstr "" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." +#: build/templates/build/detail.html:250 +msgid "Complete selected items" msgstr "" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" -msgstr "" +#: build/templates/build/detail.html:251 +#, fuzzy +#| msgid "Complete" +msgid "Complete outputs" +msgstr "Completo" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1348,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1372,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1384,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1396,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1404,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1457,728 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2224,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2337,10 +2241,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2252,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2280,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2289,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2299,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2335,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2344,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2354,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2369,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2405,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2429,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2437,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2483,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2617,174 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#, fuzzy +#| msgid "Edited stock item" +msgid "Create new stock item" +msgstr "Elemento stock modificato" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2797,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2818,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2847,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2892,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2904,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3149,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3161,74 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" -msgstr "" +#: order/templates/order/order_base.html:33 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Print purchase order report" +msgstr "Ricevuto contro l'ordine di acquisto" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +#, fuzzy +#| msgid "Production" +msgid "Order actions" +msgstr "Produzione" + +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3304,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3327,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3382,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3400,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3419,43 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3470,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3498,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3538,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3605,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3686,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,455 +3718,458 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +msgid "Low stock notification" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4180,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4209,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "Selezione una categoria" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Selezione una categoria" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Selezione una categoria" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Selezione una categoria" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Selezione una categoria" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4354,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4379,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4711,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4745,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4815,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4837,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4857,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4876,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5046,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5107,584 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "No serial numbers found" +msgid "Enter serial numbers for new items" +msgstr "Nessun numero di serie trovato" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5738,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5808,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5829,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5946,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6026,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6050,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6133,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Selezione una categoria" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Selezione una categoria" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6299,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6439,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6469,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Inserire la password" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6492,81 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Quantity" +msgid "Required Quantity" +msgstr "Quantità" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Quantity" +msgid "Minimum Quantity" +msgstr "Quantità" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6583,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6643,371 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Diviso dall'elemento genitore" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7027,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7076,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7112,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7125,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Deve essere un numero valido" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7193,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7243,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7306,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7346,692 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created new stock item" +msgstr "Elemento stock modificato" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created multiple stock items" +msgstr "Elemento stock modificato" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8051,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8321,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8378,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8457,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.mo b/InvenTree/locale/ja/LC_MESSAGES/django.mo index c8fe740f6ac643152691b6a731fd9ff34fc513db..d9e09fe1ee2fd9cfc88c4c57cae07015387e43e0 100644 GIT binary patch literal 5973 zcmbW3e{2-T6~`xSnzU|7AZ^p8Ka%Z_q)>X;hJ-o?Bn8`0gAERLnyO7i*LQ1sVQ=@? z-Gf?9TK3l17%-*~n-B;;5-?zc`I$g4jw4l7rASfKR*I_r(MlcP`JAY#TB(0jO{;$2 z?5yvw&m`*VW7Ltr8J-4|ub^D{7-O5k+E3txXZD?p-3!hEKMBqS zOTcn)HnB>x4HedtAc&yu_syc_igK-yO+ zNaL$PvR55Q@=t>>1=D1|1(KdyL0aco5KAy0eET-WdcZQ&pTQ(F{~nO+c?6_&E`r|& ze*-Q8XG4hkt3Z-}3NPVDkmOBSZwK*XyCe^RWS>Eh?EW_RZ7>Vc`g0JhG|vi<AkFtr z5Gt{|usBS^?gyzpAEa?hK=SVsAkAxnm0&kW^Zyp4dHx{zcQAr_34)INQUQ{lD?pkz z4w9ZONOFh4rQlm2>31iBjr4mAq`1^UOvwz%Ur6o)NxzdIturk7Yp@LUcO*%O<}C-Q zy%mgs2f;@0KOpUUJq{DivjL>_bdcJgmF$xJeISOgW8jy;*JS_iK(f!DK^p&G***u( z5_XlG4}Ki|6(HGdDR>*W0EHe56A$GUn!g+cB5W-ROeFH{*Fo|LJqS}_#|OYgC}iv9 zDBnSO80D)d;X~)59_5j+L2@owi$eAxo#rebPZT#K_6YHU-B zP4dcC%ig5fN~~3jZBm+5-JtH2Zp0PWQdGmRVydetN!4~8R;ijX%^-4`kK`VI6`THm*8RH+!)!U1-p*3 z>O|6QQ-aAAGnHtF}J9O9!IQLdQ3xSP^Cah2D=QKHm6j?8?;Q?))t*24n3OLXlt6{ zv^f+4t(t1MtwG#5Vc^wTj?1PyYFdlK>QauYG--;e1WE*UU~AQc#?~TErVSCTVjI-m z5JpPSf=G{v^Wh}5nBJ^I;k6cG&5gCftYK$xz|fIQ*|ApD(bOhbP6P(rVQ4Wo7^QtaD?0L<#uj{r&9=5VrNhlti4`CCNLq@AndPHVoNQS-4@oHDYhw*iDbwc zTJ>a-qzm2eutsSN));P^HKy!MbdsKgGg%S_M`pvpw$ylVtmlkHJuqq<>reMwzSU3FfU z@&#oj$fK0^BaLlIEahrHbxYxM-CTlGr`nF@E_%GKQqiQl zCG|$iR*lF?%T72^#Y~E-v#flH5_~QzTT=4FNTqFU#h{3^OrbfZbw+BcqRPXMEL>Dp zRxmQ$Deb7BnetOqDgE)Jc^6D3lV=p8ysUJxT1vN-p_OW8X>H|(y6T38<*TY2O5+=0 zLTf?Nnlh=-qI^+B3EibUeVY51x!=Y8mw5Vw_};<2-MRi<+&jU&T|B*$dv9>>5Kr%C zJpD3H4-26_?hml+)#0(>7r5Wc)5pc=L6*III@{iZ88V~WbNwFoPI2!bQLnkEc&bNpCQ7;$pV<0Qc~N26!LEM870azn!P|Wx6gw zyUfUb?)CFD^gYVcSP*mV=RV$DSQ+im`W*LPp#@3z!R)miXu_V43mta+?Z%5NGqii` zdPmTVo|nWL-9bMafBAZDpqpj7c1|3GNrq;qXZtP)CEH2I^y}OgTO%#P5i@oa424pm zJ$z`J-|g7Q;p~pREH9dVmHP*TG2u4+V3lG6#*bae?(K%*W}G?L*c8*!UjM&Axq-9U z7xu6K%3PivAU)Gpxew1?p2sFSyK^TxMZ*9Els_2UqBCj;`&~UfaR~02X%AB+;C-4H zL4B4y;qA^I9>|?Oml=97j7L&Ou0Gy7kmPq#bLStx5fFdZvb`53I(x*Dh$ckt z?oeEu;>nDokoRaa9o)wjac+?WU~{y5*a05DatOy7nimhpnLDzFyMpaN$;>%e7%B~L z4@Ye`_i*yy&B9FO?ab`$&UAGb9GGy)zijI*JSrrS>+i`MF7M!59x-GKWJ6>$8QBzO zyE{dU!F^B)A<&-BonzOwgti(w8Eb~#Ew*Oi zAq&HNhSZKfY6Y_nQ5x^-{D@6~FcSX6u^p3>-xOubIT zo!T}2Dnes)d=R%*aChMnI}L9Nb-G2=(5-nZr8q@r-wbPDE=odUBctQb;~RSnC(U&B zkMHfsys@2o#~G61_{fmB5#^;PvWwqE38l~-EYp2u?Ak6!LT#2CeLl0_3ocUlu7jtq zP&)O7f?zE2zW_;8_KhFBKCz9)(nMkpa0dPn6uHD;fT`}n(s@^)AMu8~b2&(c_)~$q c^EJF#u75zBPyFd1XX6h5B{U@T?7=kqAH5In6951J delta 104 zcmcbrcaX{Vo)F7a1|VPrVi_P-0b*t#)&XJ=umECqprj>`2C0FAfTH}Y)Z`Lf&lKIT j)S}|d{5&g#$!mD@xeZKojSLkGEUk=%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete parts" +msgid "Delete Items" +msgstr "パーツを削除" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4186,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4215,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" -msgstr "全てのパーツ" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" +msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "カテゴリの選択" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "カテゴリの選択" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "カテゴリの選択" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "カテゴリの選択" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "カテゴリの選択" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "新規パーツ" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4360,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4385,317 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Manufacturer Part Details" +msgid "Part Details" +msgstr "メーカー・パーツの詳細" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4719,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4753,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4823,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4845,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4865,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4884,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5054,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5115,584 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "No serial numbers found" +msgid "Enter serial numbers for new items" +msgstr "シリアル番号が見つかりません" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5746,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5816,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5837,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5954,69 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +#, fuzzy +#| msgid "Supplier Parts" +msgid "Subscribed Parts" +msgstr "サプライヤー・パーツ" + +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6036,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6060,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6143,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "カテゴリの選択" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "カテゴリの選択" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6309,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6449,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6479,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "パスワードを入力してください" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6502,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6589,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6649,371 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +#, fuzzy +#| msgid "Edit manufacturer part" +msgid "Edit substitute parts" +msgstr "メーカー・パーツの編集" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7033,7 @@ msgstr "メーカー・パーツの編集" msgid "Delete Manufacturer Part" msgstr "メーカー・パーツを削除" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7082,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7118,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7131,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "有効な数字でなければなりません" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7199,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7249,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7312,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7352,690 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Create new supplier part" +msgid "Created new stock item" +msgstr "新しいサプライヤー・パーツを作成" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8055,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8325,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8382,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8461,43 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" +#~ msgid "Manufacturer Part Stock" +#~ msgstr "メーカー・パーツの在庫" + +#~ msgid "Manufacturer Part Orders" +#~ msgstr "メーカー・パーツの注文" + +#~ msgid "All parts" +#~ msgstr "全てのパーツ" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.mo b/InvenTree/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..84270c118516119607f3c4ea436d1227f1405b83 GIT binary patch literal 517 zcmZWl-A=+V6vpV)F1_}m7hZZ;JJdi47Yf5Hut;DU6Jto->MYiF=?dzD_*A}w&tiu< zh@Rw2&u`CnzR&%=_lC0_hXaR0hh2vwhsxRxAFkMOZ`D)V#OMW2Ekqeyb5jbfC=zPL zl{K7uQ(kCeAue-~!TB;TA<-0hlS`QLm8iO5z$~XIzySe*fe?gGY0&Y;thA6Arb@}I zHg0IlRK8?6hlI0dibmRSrs^z3PkKI@dT|to8z!WQy}nk~(ShWxaEmN|wSFO)P+gQh zGE;KfyGn-8-t<*VAGm=~r8*NTr>K1|tT&NM!z2u~c`hkZ#X2l|q>H}Y9`1TK&^P+U z4Z)8t+hY7HLNuW0_#|jyyfyiIXLZq5dMKo$@88zqHls@B#L0YzB*A_i`ckJ%a-S=I c+@HtcY<6}L&iriQ1k}yq@26`Pq}BEsU;5dcs{jB1 literal 0 HcmV?d00001 diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index e1b5611439..6589771a11 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Korean\n" @@ -33,260 +33,266 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "" @@ -302,196 +308,196 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "" @@ -535,599 +541,566 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:150 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:154 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:158 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "" + +#: build/serializers.py:191 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "" + #: build/serializers.py:213 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +msgid "Build output" +msgstr "" + +#: build/serializers.py:278 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" +#: build/tasks.py:92 +msgid "Stock required for build order" msgstr "" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1148,195 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" +#: build/templates/build/detail.html:16 +msgid "Build Details" msgstr "" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" +#: build/templates/build/detail.html:232 +msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" +#: build/templates/build/detail.html:246 +msgid "Output Actions" msgstr "" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." +#: build/templates/build/detail.html:250 +msgid "Complete selected items" msgstr "" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" +#: build/templates/build/detail.html:251 +msgid "Complete outputs" msgstr "" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1344,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1368,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1380,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1392,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1400,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1453,728 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2220,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2337,10 +2237,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2248,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2276,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2285,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2295,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2331,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2340,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2350,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2401,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2425,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2433,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2479,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2613,172 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2791,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2812,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2841,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2898,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3143,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3155,70 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" +#: order/templates/order/order_base.html:33 +msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +msgid "Edit order" +msgstr "" + +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3294,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3317,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3390,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3409,43 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3460,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3488,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3528,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3595,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3676,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,455 +3708,458 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +msgid "Low stock notification" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4334,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4691,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4725,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4795,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4817,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4837,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4856,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5026,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5087,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5716,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5786,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5807,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5924,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6004,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6028,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6111,154 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6273,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6413,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6443,11 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" msgstr "" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6464,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6551,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6611,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +6993,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7078,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7091,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7157,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7207,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7270,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7310,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8011,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8281,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8338,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8417,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.mo b/InvenTree/locale/nl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..90bb7bf5b816d5811923cc604c2f8be0b4944b2a GIT binary patch literal 19401 zcmb8037jQGeaD+?f#nFG2qHqG!0rOG2Zw=0g0s7`>$oR7yC4`tdfw}q>76&-Z(qMR zv$G3PqY~pmOd=*~;z5YPBi;$-&vrkrP6#eH@qKN;Z|Kgt~!IMsl zBE32nu7S^jSHc;10lWh~4Soh*2p@s^{6_zbul9t}5pPC(^*0hAnOpxUz+N{%n~d@a;> zZ-r{lolyDig)#h`k3Z_;hdx0 z#~*|m|A(N;dD!#2o<}fP>i?6W`tuy9^0z{b%k@zGDSY~ip!DihQ0=?j$M1rY*Mm^< z{Q}hY|Lhr^?eya*Q0+O>a~YI=UksIhBUJl;7OI>*5Ya?8LCNn8kRqcGL5=6t*Bt;j%^WpR0&%nJ<^}Y|PzK=uI_cv|BzXPRrKY*(LTq+f> zhD+cLo(Yux&-i!_C66AI{=5jP9k)ZZ?;aS#zlN&sF{tr9g3Qv(Goj>uDU@6`K*`|- zsQxcN>Cx+<%Kcraa_@uEi!VTx^IdozT*{Cf9e?}A4X|0I+?JOI_culx96=equ!4oQmEz!>g^N5Xliejo6B1=M)l2GyQ- zK=uD#sQ!H(NgBt&j!^7bbD24QW z2}D%UDNypc462-~pxU_!9tn3rjsNvf`MPikyvg&WQ02W6O0QlI_5B@C@_Rp&p56l` z*9V~b_YhQlk3s%3qqSOC=JGusO3n#XfA_(Q;jK{h-3_fgsC*B>qv5xq-hUrTUWYAr z-#-;zNPHDkyIue#@0Ndm6TFf5uffaVccI4d!WB+0wnNFI2_^Ros+^mk`u!Rx{d^Nt z|KABE|GRwpx1iehn1BB`RQ<-jhmE-MPlD?A>7FZ~?9^H) zJ=p>^4kbjTqkS-jZ-$uo=+B_+#h2hx_&@M^cr=ZniBSTNhp&Mu=Z#QueG627-VQ%| z82$j1-oI?Mlh0eA^zcJ)Bm6WRgD2C8pN7{#&8J_1bSe4(lw7_7ZQLO$6+I4*fy+?l z6X9y8@2-X_e-bW(`=H8sE2OIE0jPQNxKBR|p&mbtEFQARU9{u@x=e*nhtZm4nj2dHs45#`kTQ=!J=T(}OdhU!lV)$apP^}QTQp1%gw zo;N|+^LN0L;C)c-dkDtxVfbWtID;lVKMkt?S3>F61XR2CLzQzIJQcnlO3t5vnqS}a z?;rC#1*4&QRzkJw3LoDHpG5o`sP?4rWH|5RuYia=dIMCyAMpHpsPTCOD*sVexN=W} zrxQOHs@$uf+ItO@99mHI^x$dm7SA_BweJt1+IKfpxevmpz^_8}_dlT8@uan`-_L;O z5WgI%+#8_ucos6XqSrx<+dWY7{}j}E^*8Vo_&un3di0e}uSXzB(QbGKd@WRa-UZdK z4@0%BN7|$8Um?$E%_8{Q->Or=j}u2$cMeWD!<*=R>vc zSy1hL4m=ZXf*QXj)OT}GdUp$y-v1Um47dk{0~62{}-X=$J?Of^=^m=qOU;ZKYP7v=L)ED zu7qmubA5Ubs=Qx`Sgb%Djq!o)xPB$UB5=5>fa2N|AkQH z?14+*i{RPt7N~mO4%Ls3!6ooZP~U$YO74$&F4^SrJq1esmq3-j0V>}$o(Wt_d@oeJ z?}kr@cYA&XN^gD$CGX|Wb^Y57Reu6i|BO%H52cs4`1sr4QN({Au7DqelEarErY<^T z99s%^!As#H)Vz2P)OYtl$?KDz4@1e}2XHlfGRk}`9D{4%cDNkA1fCDy3D1F_g-hY1 za0)&SS@NQEv(t|^LDlyTAAc`Aj`&C5VKDsm@sJR@gm?PHSHj;WynyguKJ88L?S$75 za>7v*@(lR%1hwxD!aoxvJN>>-_y>DpE%g*`Az;FyWBLAfp=^tOEThq!Jz=}y4FvT| zzb`o0ztY(yKK^ld9zo-*Irc|{a|rs~;}G5F`Fl|FujS*r;oth_3^Hw^xA^!^(YC+g z`R@ptJNo@4;r9uDMvxr!dq3fugkMyI-_H^rAgm*tNEzX`l;?jZ@+!iqgjIx(5yEdj z4__x}9vnlsmau~${rL}qeq#>y@2C0q4TReWs9p3Ug8itc!Na|T3Bq3xE+qUt;eQB6 z6H3A_6T^C5#a6CcKX@P0;T!S zgkL4Rl_0yI-zkJYC0s%HH^K>o@LS;@z69S)_!Ytj2>(fVH{m$?^gW5EQ-tvQgnu{+{t4j~gayJ^2>(jBm2f3NzaC+f za0%gYLjCtlBF`aQQ%k(wKfliN4?W)j|D5n)AMe1=5>BRHXZy4>JX5%Z@FBtneVXtX zVKd=dityV&cs}8~gkK`Oh@jtI!bb@wQMP_Z!*TZ*9nbR-{`qvclJHc*(+N)^e1>p7 zVJYE6f_~2<+;30Va`@N&`K54{u#xZ^K5Y*?hC1$q7ZJAm^dG_>5RTy8N$_^UBZOUq z@cSJeUQf7;@asPDSomH-?BkD$qdUgqG;g+xEbqp7(T%5yUfzsGTdiUt-q35evPRNP zt^|MEu}G&~|K z{AIiYvBbsXp0x4Ac_t)?@oqZz6J^{|paN>>aH(ZkG%~b<2CM5;sa4x%5+pm^z$#n6 zyfU=`UYEEBbg(0d&m)5@FS{BS%A|kMx=xl(#m%&Abh5T<)RYaq4Op~J!{+{tH>6!8 zSNhmClq@`N?=%@i%NyHsEOmFC9LN*zOsCRLYSpV`pBqKdOqopMMlpvfN&-nqQ$y6L zPh9l6?H)RciYHk6Wz2Au8H%=4L^SPumtM-N>g1}4^ zq5s$P6120s=u4UCCf#0mmoy~#5Gy22-`a!99DGR=kd-ge^)GG~D6Pb43LMu)WiTIo z3z{_Ca70GqsJn@p*f`P4#0{yp6E58iHZQSF4L?^W?E@>_bimrT7_E24z>4z`&BFCI zB`1r0W-y9;D(lR}nPyTmMG+7SS+YDW(`bD$XBGmslYB9jK~SP8O!eS8Tt%B!SQ+A) zbsLZwajPoOE10ubEt{RyE0@@hO6WFwrv}ur%3uwzYN+}l!|7z>2CB+G)LSouJYB#d zmnEhPDfz^M63haJp)p}$@4DVFuQ&C;94VO<9Zl%PDxs<*vzcK2qlxNGHCVZczIz)E@`b$GV87z%37QIiB2*a9n0G(7A1kO(%N#WRkXjR zyEScXd|>+KL#5_QmCevNNr?e5~>@{783Fp$w$o=md9Px^(iluf1T(l3zywG)fE0E_Wd zFE`tjv}D@G^63_9Kg7$3o0@0taX^_}Ql-i+y4RaW(}{s;;@%JV3pfNUX!TsBuV^S6 zmT5Yr540q%{G5`$s+(q~{Gt$zbvhJ@CMR=RE97uQW5HS4lI63CbrSy-<~1#&jbxI6 zHmjtFS)}m5o16tRX9;Pw(rKI>{JIXN9?>j2(71V-eQ#dPT!vdjt@6(DQbSx7GS@4e z8_D9BYUrYknr<`ErWAF^qfMPOosFKGPIl6T2&a-2b~@c>Pxh%>1UgE@oOI>=#Rqt} zIT}BxRZK!_&hi8MZe9_M_gCNTZr!aVH3!8PR^)Lx7p)eHX15@>MbJ%T)GqQA!(_9m z|3dj#Im>izvbD$u-Z|aT$r{MFitGEz;*aOJ!x;`j-%)JhjW)V68{uVN)O1QF#;q3p z*9A4yaw{6lk=kj>QN5QJ*>>|flu+qwyHm_(ayNOC=DQe<*!qW$6K~TB)lV-MOD$|O zY0|>GGiMY{cHZcCS@w|BI=X-aGe-7#34PYOw>f3L+6+a9(FQc3muGu>yeY8Kd9(%X zYA6p*XpE9JW=)y$E&`G2YH1yC{3~-89^&AER0*~Rp;udqvKwucgX88)&CMYhYlhV1 zVcUfChJ%TpL|c7R6YX9YF7N4A$+?sSwd}avjmz(a8BEZPDoMkK98rzIJl0+5Q!RrD zd>iZCy6s!zaanFfLZ_l_D4Ut9xNN75Y$~IJq}46K;G0(P)XTK1oNhKfL65_G3Ex-a z_I~vjZjh|m)ypBH)latp9d1K6=}f0xv#ywNHLJ6bPD^80N8%vvu;@A`&aE)pY_lal zq~D6tyKXbdJSH(sbDON@f=B)QPTz)BjpYZ*n^!oMbaJWY#PS1sF(BJFN6tUg4yuf{ zv-`k_@S9oFWX!0vIY)oH*?ekQn&|Zo<(tU%>j`TY7E6^wit~vu(P^t$*6NRTu-qa1 zXh$n)FtR%eTZ}L!l&~e4Ok0tA4$AIgExjq-D-GSKcgA;gie}HAqsn*RnKn`yit(9F zGR#}t?sb?c?6S-+kNVr2>Z#Vi0Rt>kcQYSM_gYCuJL*o#B7l1uth8p7$yJR~*X@L0 zXR3`Tz1zt)Uo9E3ts&XmlghI0O!xL|$L>_U8Yr4>{=p&&H8l7;(-NCqW_SeD)$MiI zwO0@BFrmQ|FXot+J9{)81)Sh~pmck>`t!hUu$CvTgyeGngu96e{1Tb8YFba=D>m>% zgYW3$Q(B(2zSu$$`P6DU@ur*1rhYD%yd?7eX+^xemD;RmCC-Lgb|+Z2A8rnX;#M3~ z{=y79UE4})h}@=D^PU-pLm<7U1bJk>VeQ0J9dzAZsJ&=rOcmDh*h{xO@nK7ETJe}a zkeRRpnF&o9x>t?Qggb0;^O-N~=*7iKqFvO>Z#0PLFsh7aS#*{UE;sQACpxG)iZ3t4 zW^9$;j;NxEnXKJbmu5KZx@Kp*UOR<}f=QCrhRemB{3MZRf|X8w}{R*U}lt#ebOVhXmdfBNA+Q~TqF?bt#|_;)=%<@=@_3|D-WsB=CH zfKRTbv=lz<)Oq%r;@pRD%!8UcRYwPhPK73VlR@hAd?9VxxH!k9z6aUmRw3IR`e(1^ zvSH@>?_z_+6xZQe8SR=$GX7ylC*@}e!g(+~)G>qilg)LpEr=$8zTp(1CaGA53SJ8+ zq5kH)Dqg@OvIfQU;=JW&!}&yE%L{0jIHzXFZ{m{zPo|G{x+Y&Uvj$(NXX~DltpsOsSQQuxHbU z?jOAI%69vKMsluuZk@6%<-$yXM9uB289kTbT03zL^Pg=`QD6*n@2d^H9d_le&C;$m z68Nsyb1sZsvqi=?m_?cM)Tx+_blNHPWVHvaTN&H1n=ImxD0zEl0gYs?t+bMxg%xZA z(PlrSZ4~2%+AEid2S;#a)HlGBi%~OKEF)($B97yAYHsSvdatE*WV|_YEe)ffwa6Hs zzKc)4)amia)^a*)j;!lVmm|B1weiv&+edb$^O#3_{!KlUbQ@r&$%jIv*OC7&mUReDHiy4#7n0xl7n83jBi*QUwYZa zm#ki0`!e)a9jhg4hr2dj^@2*oE31vt3**+B)vK!LDrrG0U6tmmwyeK#>)6D^=%%rW zRn0w!u~^wIh6=S-thwa!rS2*w<1R)=VmV65VZeNmH`APhm`S`oyW2orFjNWd%er(S z<(?pyqt#EHU<)$Cw+q>x{TZhT%mEBs^=aJA_E2JJc_u>%$|Gl5wQ-z_>scKf=~Xht z>d?}dkca;!)dDq4g(qCFDA`UQ>>$72m|ecDQrUPeRoTogUke8iG;Dv`n)1z?=2)PY z(W3~Bo-K-Yj1S%_+N!50I-LaFuX=x7N+o{cqo6ny`XI$O-Cf|w6=?icF46Fx^p>H zJ~Pa67=Gf+Tf#nZsPyS{w!k66YeB!9!8b?b$F=ehwU=~TM~&R)xF;JvzjnJ-p__#p z9S#LJ?Lwm(Go5VDJVFT?YbyX79oyGLZuxA6OC60eCKk6Yf=uXvoS$Dobt0r67 zo+<50{M`Ki6p4b{S7@(4-?QSd>kk^S zke%K$K?VfiTIKG2Xr#JWvn@xvWn#Y6gVC zwQr+McoecI>WA9|W$An}i`k(t6j!F07BGrTVrs?K1#L!w-o8_n;2{%)?1uGb79Te*#qV(HljC++ftf`d)9HGT!jd1Zs|Nf5?U~RZKb;S9e(Kj( zSmuG;TxRK9@LDZKrj5LHG5Hgw8}nB&gR=PoDU0GIfAnFzEHD{cKM~%$)-;{neD+%?c_zum6cms`O~B^?`YaBS7kiO zpjAW@U!?|5EiP)-mE{6ekx$3q_9HSYtnB{UOKXPgoV)WH$j64Q8!o+^hKKU7jnmF+ zV0oC1_h)FP>F&L-Hry2rUVRmqSHB3dDpI>VQM&~jX(!!I!7g#& z7A%c9pu^*o;LS&McVOEO?VLoGZhnK4&OvU*xWD_7`9}>laaP0T4fS=$SN%BGLpllO zuPRunw5*2sWPRefHk$P&`$al!*;s6s=9)t_oAx+FABua;LOgjZn?^;d zC99ti&pY)uUj0O`$4#%u+DvIe+D1*Azup&V(9z<%7B}%=pqUH*WpVNRR9k#z_z zWzqKCMdSG>NR)+4s~1j@CHE)h|1Gtl4@_A@Tl`-B;4C%*+TB{`!??K02h8W-s~|Gp zaVG9Sv-!iSR#*tai*0Bve+aY!gPs?~ew?JrsH`OwdrB-q-OkF=^ z*lRN?Oj&e=)>O9HdO`IZDP{M*OS0*IUO52z!fOi|{D=fjauGu*vqZ%(DYQCe!b({-^#l=O!NPFw58$~$=?n05j?Lor*rMFTPcdy7Dglt#k z3)vcIH;x?WpeF-E<6gSM8=5#I&1;!iT6aP-LOf`A=!%+KX=ivjlv(b+D{YeQR*_&0 z!%O)JT3M^O41-K9tBM_~)y`+_6w)2iV6rPy7(Vr@rMBPL5??vjTzQkfL&*5w5p>YY zxUm~Q#9P$Iozc|a)^Np=?082li= zg&~J@hugLKAv-yBq+JuCP7ShwwYYBqz8X#mz0vX z&TQC`4c}BA+~jz+$KP_gJBgYH#BPv-fSPj2HQTS9P;NJtrF=pCEkQWpuax$QU-%;c z4WMj(1Gw#HeDC}wCxYG26D z8W=2GY)+Pgr|K<`SuBmAyXwSxU~!yrGIwY=+jKhYsfTM%lyf(lq!q;`qU)8p*Je*r zomNt^vo6+hZvs}vrX2Hr>V;)x_ypaZsB~9SP3Q{kW{{W)c538LP5auc6~Q0Ftc-%Y Z>9$esjy;?HTGY*x{{@I=b29({ literal 0 HcmV?d00001 diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 78a85dfaa1..462b8d79db 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Dutch\n" @@ -33,260 +33,266 @@ msgstr "Geen overeenkomende actie gevonden" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "Bevestigen" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "Bevestigen verwijdering" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "Bevestig item verwijdering" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "Categorie selecteren" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Dubbel serienummer: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveeldheid ingevoerd" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ongeldige groep: {g}" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "Dubbel serienummer: {g}" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "Bijlage opmerking" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "Fout bijlagemap" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "overkoepelend" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "Chinees" @@ -302,196 +308,196 @@ msgstr "E-mailbackend niet geconfigureerd" msgid "InvenTree system health checks failed" msgstr "Inventree gezondsheidscheck faalt" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "Bezig" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "Geplaatst" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "Voltooid" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "Geannuleerd" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "Kwijt" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "Verzonden" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "Aandacht nodig" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "Beschadigd" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "Verwoest" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "Afgewezen" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "Verouderde trackingscode" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "Voorraaditem gemaakt" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "Bewerken voorraaditem" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "Serienummer toegewezen" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "Voorraad geteld" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "Voorraad handmatig toegevoegd" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "Voorraad handmatig verwijderd" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "Locatie veranderd" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "Gemonteerd" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "Gedemonteerd" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "Gemonteerd item" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "Gedemonteerd item" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "Splits van bovenliggend item" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "Naar klant verzonden" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "Geretourneerd door klant" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "Montageopdracht gecreëerd" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "Montageopdracht voltooid" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "Ontvangen tegen inkoopopdracht" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "Productie" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "Foute valutacode" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "Foute letter in onderdeelnaam" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Refernetie moet overeenkomen met patroon {pattern}" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Illegale letter in naam ({x})" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "Overschrijdingswaarde mag niet negatief zijn" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "Verwijder item" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "Selectievakje aanvinken om de verwijdering van items te bevestigen" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "Systeeminformatie" @@ -535,599 +541,586 @@ msgstr "Barcode komt al overeen met StockItem object" msgid "Barcode associated with StockItem" msgstr "Barcode gekoppeld aan StockItem" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "Bouwopdracht referentie" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "Order streefdatum" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "Streefdatum" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "Aantal" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "Aantal items om te maken" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor build-output" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "Serienummers" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor build-outputs" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "Bevestig het maken van build-output" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "Bevestig verwijdering van build-output" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "Bevestig het ongedaan maken van de toewijzing van voorraad" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "Markeer build als voltooid" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "Locatie" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "Locatie van voltooide onderdelen" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "Status" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "Build output voorraad status" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "Bevestig onvolledigheid" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "Bevestig voltooiing met onvolledige voorraadtoewijzing" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "Bevestig build voltooiing" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "Annuleren bevestigen" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "Bevestig annulering van de build" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende build" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "Bouwopdracht" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "Bouwopdrachten" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Bouwopdracht referentie" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "Referentie" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Korte beschrijving van de build" -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Bovenliggende bouw" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder waaraan deze build is toegewezen" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "Onderdeel" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "Selecteer onderdeel om te bouwen" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Verkoop Order Referentie" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waaraan deze build is toegewezen" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "Bron Locatie" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de build vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "Bouwkwaliteit" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "Bouwstatus" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "Bouwstatuscode" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "Verwachte voltooiingsdatum" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "Voltooiingsdatum" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "voltooid door" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Gebruiker die bouwopdracht heeft gegeven" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "Externe Link" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "Link naar externe URL" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "Opmerkingen" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "Opmerkingen over de bouw" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "Geen bouwuitvoer opgegeven" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "Bouwuitvoer is al voltooid" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "Bouwuitvoer komt niet overeen met bouwopdracht" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "Product" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "Bouw om onderdelen toe te wijzen" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid te alloceren aan bouw" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Build output does not match the parent build" +msgstr "Bouwuitvoer komt niet overeen met bouwopdracht" + +#: build/serializers.py:150 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Output part does not match BuildOrder part" +msgstr "Bouwuitvoer komt niet overeen met bouwopdracht" + +#: build/serializers.py:154 +#, fuzzy +#| msgid "Build output is already completed" +msgid "This build output has already been completed" +msgstr "Bouwuitvoer is al voltooid" + +#: build/serializers.py:158 +#, fuzzy +#| msgid "Build output is already completed" +msgid "This build output is not fully allocated" +msgstr "Bouwuitvoer is al voltooid" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "Locatie" + +#: build/serializers.py:191 +#, fuzzy +#| msgid "Location of completed parts" +msgid "Location for completed build outputs" +msgstr "Locatie van voltooide onderdelen" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "Status" + #: build/serializers.py:213 +#, fuzzy +#| msgid "No build output specified" +msgid "A list of build outputs must be provided" +msgstr "Geen bouwuitvoer opgegeven" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +#, fuzzy +#| msgid "Build Notes" +msgid "Build output" +msgstr "Bouw notities" + +#: build/serializers.py:278 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Build output must point to the same build" +msgstr "Bouwuitvoer komt niet overeen met bouwopdracht" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" -msgstr "Serienummer" +#: build/tasks.py:92 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock required for build order" +msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "Afdruk acties" + +#: build/templates/build/build_base.html:43 +#, fuzzy +#| msgid "Print Build Order" +msgid "Print build order report" +msgstr "Print Bouw Order" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "Build acties" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "Bewerk Build" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "Annuleer Build" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "Verwijder bouw" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "Voltooi Build" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "Deze bouwopdracht is toegewezen aan verkooporder %(link)s" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Deze bouwopdracht is een onderdeel van bouwopdracht %(link)s" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "Bouwopdracht is gereed om te markeren als voltooid" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bouwopdracht kan niet worden voltooid omdat openstaande outputs blijven" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "Vereiste bouwhoeveelheid is nog niet bereikt" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze bouwopdracht" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" -msgstr "Beheerder weergave" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" +msgstr "Streefdatum" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "Achterstallig" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "Afdruk acties" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "Print Bouw Order" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "Voltooi Build" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "Build acties" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "Bewerk Build" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "Annuleer Build" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "Verwijder bouw" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "Build details" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "Deze bouw was verwacht op %(target)s" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" -msgstr "Voortgang" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" +msgstr "Achterstallig" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "Verkoop Order" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Uitgegeven door" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "Onvolledige bouwuitvoer" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "Bouwopdracht kan niet worden voltooid omdat onvolledige bouwuitvoer blijft bestaan" @@ -1175,220 +1168,205 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" -msgstr "" +#: build/templates/build/detail.html:16 +msgid "Build Details" +msgstr "Build details" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "Voorraadbron" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +#, fuzzy +#| msgid "Build to allocate parts" +msgid "Allocated Parts" +msgstr "Bouw om onderdelen toe te wijzen" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "Batch" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "Gecreëerd" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "Geen doeldatum ingesteld" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "Niet toegewezen voorraad" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "Niet toegewezen voorraad" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "Bestel onderdelen" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" -msgstr "" +#: build/templates/build/detail.html:232 +#, fuzzy +#| msgid "Build Quantity" +msgid "New Build Output" +msgstr "Bouwkwaliteit" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" -msgstr "" +#: build/templates/build/detail.html:246 +#, fuzzy +#| msgid "Printing Actions" +msgid "Output Actions" +msgstr "Afdrukacties" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." -msgstr "" +#: build/templates/build/detail.html:250 +#, fuzzy +#| msgid "Completed items" +msgid "Complete selected items" +msgstr "Voltooide voorraadartikelen" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" -msgstr "" +#: build/templates/build/detail.html:251 +#, fuzzy +#| msgid "Incomplete Outputs" +msgid "Complete outputs" +msgstr "Onvolledige bouwuitvoer" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "Bijlagen" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "Bouw notities" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Notities Bewerken" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1396,47 +1374,18 @@ msgstr "" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "" @@ -1449,7 +1398,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1461,11 +1410,11 @@ msgstr "" msgid "Delete Build Output" msgstr "" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "" @@ -1473,7 +1422,7 @@ msgstr "" msgid "Build output does not match build" msgstr "" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "" @@ -1481,39 +1430,19 @@ msgstr "" msgid "Build output deleted" msgstr "" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "" @@ -1554,728 +1483,730 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "Waarde van de instelling" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "Moet een geheel getal zijn" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:509 +#: common/models.py:559 +msgid "No group" +msgstr "" + +#: common/models.py:601 +msgid "Restart required" +msgstr "" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "Inventree Instantie Naam" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "String-beschrijving voor de server instantie" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "Basis URL" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "Standaard valuta" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "Standaard valuta" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "Barcode ondersteuning" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "Barcodescanner ondersteuning inschakelen" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguliere expressiepatroon voor het corresponderen van deel IPN" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "Dubbele IPN toestaan" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "Interne prijzen" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +#, fuzzy +#| msgid "Test Reports" +msgid "Enable Reports" +msgstr "Testrapport" + +#: common/models.py:815 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "Testrapport" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "Verlopen voorraad" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "Verkoop verlopen voorraad" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "dagen" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" +#: common/models.py:931 +msgid "Email required" msgstr "" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" msgstr "" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:956 +msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:904 -msgid "Show latest parts" -msgstr "" - -#: common/models.py:905 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:910 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:911 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:917 -msgid "Show unvalidated BOMs" -msgstr "" - -#: common/models.py:918 -msgid "Show BOMs that await validation on the homepage" -msgstr "" - -#: common/models.py:923 -msgid "Show recent stock changes" -msgstr "" - -#: common/models.py:924 -msgid "Show recently changed stock items on the homepage" -msgstr "" - -#: common/models.py:929 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:930 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:935 -msgid "Show low stock" -msgstr "" - -#: common/models.py:936 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:941 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:942 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:947 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:948 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:953 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:954 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:959 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:960 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:965 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:966 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:971 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:972 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:977 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:978 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:983 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:984 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:989 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:990 -msgid "Show outstanding SOs on the homepage" -msgstr "" - -#: common/models.py:995 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:996 -msgid "Show overdue SOs on the homepage" +#: common/models.py:1001 +msgid "Show subscribed parts" msgstr "" #: common/models.py:1002 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:1007 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:1008 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:1013 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:1014 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:1019 +msgid "Recent Part Count" +msgstr "" + +#: common/models.py:1020 +msgid "Number of recent parts to display on index page" +msgstr "" + +#: common/models.py:1026 +msgid "Show unvalidated BOMs" +msgstr "" + +#: common/models.py:1027 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:1032 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:1033 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:1038 +msgid "Recent Stock Count" +msgstr "" + +#: common/models.py:1039 +msgid "Number of recent stock items to display on index page" +msgstr "" + +#: common/models.py:1044 +msgid "Show low stock" +msgstr "" + +#: common/models.py:1045 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:1050 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:1051 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:1056 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:1057 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:1062 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:1063 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:1068 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:1069 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:1074 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:1075 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:1080 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:1081 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:1086 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:1087 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:1092 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:1093 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:1098 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:1099 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:1104 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:1105 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +msgid "Display stock levels in search preview window" +msgstr "" + +#: common/models.py:1139 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:1140 +msgid "Hide inactive parts in search preview window" +msgstr "" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2252,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2337,10 +2269,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2348,7 +2280,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "" @@ -2376,8 +2308,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2385,8 +2317,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2327,28 @@ msgid "Select part" msgstr "" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "" @@ -2431,7 +2363,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "" @@ -2440,10 +2372,9 @@ msgid "Parameter name" msgstr "" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2451,8 +2382,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2465,27 +2397,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2433,23 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2525,7 +2457,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,46 +2465,42 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:64 -msgid "Company Details" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:81 @@ -2583,145 +2511,133 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2729,204 +2645,174 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#, fuzzy +#| msgid "Create new stock location" +msgid "Create new stock item" +msgstr "Maak nieuwe voorraadlocatie" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "" @@ -2939,17 +2825,12 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "" - #: company/views.py:56 msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -2965,24 +2846,24 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -2994,7 +2875,7 @@ msgstr "" msgid "Label description" msgstr "" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "" @@ -3039,7 +2920,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "" @@ -3051,240 +2932,236 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3177,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3189,76 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" -msgstr "" +#: order/templates/order/order_base.html:33 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Print purchase order report" +msgstr "Ontvangen tegen inkoopopdracht" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" -msgstr "" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +#, fuzzy +#| msgid "Order Parts" +msgid "Order actions" +msgstr "Bestel onderdelen" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +#, fuzzy +#| msgid "Edit Notes" +msgid "Edit order" +msgstr "Notities Bewerken" + +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3334,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "" @@ -3475,19 +3357,19 @@ msgstr "" msgid "Select Supplier Part" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3412,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3430,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3449,45 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:47 +#, fuzzy +#| msgid "Print actions" +msgid "Print packing list" +msgstr "Afdruk acties" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3502,7 @@ msgstr "" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3530,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "" @@ -3705,10 +3570,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3637,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "" @@ -3869,7 +3718,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,456 +3750,467 @@ msgstr "" msgid "Select part category" msgstr "" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +#, fuzzy +#| msgid "Parent Build" +msgid "Parent BOM item" +msgstr "Bovenliggende bouw" + +#: part/models.py:2868 +msgid "Substitute part" +msgstr "" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +#, fuzzy +#| msgid "No stock location set" +msgid "Low stock notification" +msgstr "Geen voorraadlocatie ingesteld" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "U heeft geen toestemming om de stuklijst te bewerken." -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" -msgstr "" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +#, fuzzy +#| msgid "Build actions" +msgid "BOM actions" +msgstr "Build acties" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "Nieuw stuklijstitem" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "Bewerk stuklijst" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Verwijder item" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4220,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4249,119 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" -msgstr "" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "You are subscribed to notifications for this category" +msgstr "Standaard locatie voor onderdelen in deze categorie" + +#: part/templates/part/category.html:32 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "Subscribe to notifications for this category" +msgstr "Standaard locatie voor onderdelen in deze categorie" #: part/templates/part/category.html:38 +#, fuzzy +#| msgid "Printing Actions" +msgid "Category Actions" +msgstr "Afdrukacties" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Edit location" +msgid "Edit category" +msgstr "Bewerk locatie" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Categorie selecteren" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Categorie selecteren" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Categorie selecteren" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Categorie selecteren" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4400,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4425,323 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Stock Details" +msgid "Part Details" +msgstr "Voorraadgegevens" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "Toewijzingen verkoopopdracht" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +#, fuzzy +#| msgid "Print actions" +msgid "Export actions" +msgstr "Afdruk acties" + +#: part/templates/part/detail.html:375 +#, fuzzy +#| msgid "Edit BOM" +msgid "Export BOM" +msgstr "Bewerk stuklijst" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "Nieuw stuklijstitem" + +#: part/templates/part/detail.html:397 +#, fuzzy +#| msgid "New BOM Item" +msgid "Add BOM Item" +msgstr "Nieuw stuklijstitem" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "Toewijzingen bouwopdracht" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-code weergeven" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "Label afdrukken" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "Voorraad acties" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4765,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4799,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4869,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4891,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4911,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4930,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5100,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5161,588 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" +msgstr "Serienummer" + +#: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +#, fuzzy +#| msgid "Source stock item" +msgid "Purchase price of this stock item" +msgstr "Bron voorraadartikel" + +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of items to build" +msgid "Enter number of stock items to serialize" +msgstr "Aantal items om te maken" + +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" -msgstr "" +#: stock/serializers.py:308 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new items" +msgstr "Voer serienummers in voor build-outputs" -#: stock/serializers.py:554 +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "Scan naar locatie" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "Voorraad tellen" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "Voorraad overzetten" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "Geen Locatie ingesteld" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5796,70 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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 "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." - -#: stock/templates/stock/location.html:37 -msgid "All stock items" -msgstr "Alle voorraadartikelen" - -#: stock/templates/stock/location.html:42 -msgid "Create new stock location" -msgstr "Maak nieuwe voorraadlocatie" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "Locatie acties" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "Bewerk locatie" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "Verwijder locatie" -#: stock/templates/stock/location.html:99 -msgid "Location Details" -msgstr "Locatiegegevens" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" +msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:104 -msgid "Location Path" -msgstr "" +#: stock/templates/stock/location.html:76 +msgid "New Location" +msgstr "Nieuwe locatie" -#: stock/templates/stock/location.html:109 -msgid "Location Description" -msgstr "Locatieomschrijving" +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "No stock location set" +msgid "Top level stock location" +msgstr "Geen voorraadlocatie ingesteld" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "Sublocaties" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" -msgstr "Voorraadgegevens" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" +msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Afdrukacties" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "Labels afdrukken" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "Nieuwe locatie" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "Maak nieuwe locatie" - #: 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 "" @@ -5965,7 +5868,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5889,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "Bewerk voorraadlocatie" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "QR-code voor voorraadlocatie" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "Specificeer een geldige locatie" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "Verwijder voorraadlocatie" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +6006,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6086,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6110,78 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit location" +msgid "Edit Global Setting" +msgstr "Bewerk locatie" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit User Information" +msgid "Edit User Setting" +msgstr "Gebruikersgegevens bewerken" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6197,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Categorie selecteren" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Categorie selecteren" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6363,141 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree demo instance" +msgstr "Inventree Instantie Naam" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6505,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6535,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Voer wachtwoord in" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6558,89 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock is required for the following build order" +msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +#, fuzzy +#| msgid "Allow sale of expired stock" +msgid "The following parts are low on required stock" +msgstr "Verkoop verlopen voorraad toestaan" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Build Quantity" +msgid "Required Quantity" +msgstr "Bouwkwaliteit" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree version" +msgstr "Inventree Instantie Naam" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +#, fuzzy +#| msgid "Count stock" +msgid "Total Stock" +msgstr "Voorraad tellen" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Build Quantity" +msgid "Minimum Quantity" +msgstr "Bouwkwaliteit" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6657,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6717,385 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "Weet je zeker dat je de bouw wilt annuleren?" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" -msgstr "" +#: templates/js/translated/bom.js:772 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you want to delete this BOM item?" +msgstr "Weet je zeker dat je de bouw wilt annuleren?" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Splits van bovenliggend item" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "Weet je zeker dat je de bouw wilt annuleren?" + +#: templates/js/translated/build.js:202 +#, fuzzy +#| msgid "Unallocate Stock" +msgid "Unallocate Stock Items" +msgstr "Niet toegewezen voorraad" + +#: templates/js/translated/build.js:220 +#, fuzzy +#| msgid "Delete Build" +msgid "Select Build Outputs" +msgstr "Verwijder bouw" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Complete Build" +msgid "Complete Build Outputs" +msgstr "Voltooi Build" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +#, fuzzy +#| msgid "No build output specified" +msgid "No active build outputs found" +msgstr "Geen bouwuitvoer opgegeven" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7115,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7164,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7200,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7213,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Moet een geldig nummer zijn" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7281,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7331,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7394,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7434,702 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" -msgstr "" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +#, fuzzy +#| msgid "Internal Prices" +msgid "Total Price" +msgstr "Interne prijzen" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +#, fuzzy +#| msgid "Stock Item" +msgid "Serialize Stock Item" +msgstr "Voorraadartikel" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "Stock Location" +msgid "New Stock Location" +msgstr "Voorraadlocatie" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Enter quantity for build output" +msgid "Enter initial quantity for this stock item" +msgstr "Voer hoeveelheid in voor build-output" + +#: templates/js/translated/stock.js:195 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Voer serienummers in voor build-outputs" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Create new stock location" +msgid "Created new stock item" +msgstr "Maak nieuwe voorraadlocatie" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "All stock items" +msgid "Created multiple stock items" +msgstr "Alle voorraadartikelen" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8149,266 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "Inkoop" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "Verkoop" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree demo mode" +msgstr "Inventree Instantie Naam" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8421,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8478,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8557,70 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" +#~ msgid "Build Order reference" +#~ msgstr "Bouwopdracht referentie" + +#~ msgid "Order target date" +#~ msgstr "Order streefdatum" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "Bevestig het ongedaan maken van de toewijzing van voorraad" + +#~ msgid "Build output stock status" +#~ msgstr "Build output voorraad status" + +#~ msgid "Confirm incomplete" +#~ msgstr "Bevestig onvolledigheid" + +#~ msgid "Confirm completion with incomplete stock allocation" +#~ msgstr "Bevestig voltooiing met onvolledige voorraadtoewijzing" + +#~ msgid "Confirm build completion" +#~ msgstr "Bevestig build voltooiing" + +#~ msgid "Admin view" +#~ msgstr "Beheerder weergave" + +#~ msgid "Progress" +#~ msgstr "Voortgang" + +#~ msgid "Location Details" +#~ msgstr "Locatiegegevens" + +#~ msgid "Location Description" +#~ msgstr "Locatieomschrijving" + +#~ msgid "Create new location" +#~ msgstr "Maak nieuwe locatie" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.mo b/InvenTree/locale/no/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..f4261a805f9005a2ba7e9136579d9ff2deffbdf3 GIT binary patch literal 3436 zcmaKuOKcri8GsKZ(AMQqLMfC&IHf#n=;Yc?YFRf*h3(kEBzCO$CgPzgI=*x6csg^> z+?+Yr#xg-H%914rHqb7BE?6NUx@B{S! z3qAzze~(fR!V~ZT*nzU&8Tb)+x#2G4r@qbOPL{DdXC2j;R{gg@nX~eO2a=uIq&tR z{pY6rS15M*I~2SA8@`6`?nN2V?~fcxmwF3|{QrTX=i@9Ad7gkWz5vBPPeJk5B`EU5 zQ1%T_^!N@GeSg^S7tQ!@p~(Fbl>Kf&e(DV#V(&NM`{8|T_96H%6#b{6=+%MZuhUTE z>q7DC3Y7DYc$fTQ2Id_^mPnEO2Koy^zq)LfuRQ3`X9;M2er>IrzLn-%A zpRC^M7#4d=k$703ik-xV;y28wK2NP;2%e@&5!;HrpPmNv?-xF^ zUiWuxKhpz~<~CLzg{Q3p}(tEhof-N%+_u^+(Csh z_|zq8)g^gaGQ|ZtV|Hy`?+~*dod~&x-n!qYyXLLqjPuqHjZ^2nwVC>|-SKu`t-C#w zr!nR#(!QNE#g?O5>UPHUv2h_q$dNDh(ip3*2bQwoSIo#%=DkpOOMAnhQSBq1Uhf#+ zFJddA8?`YmgWj>)==$JV*Sfpexm|Eg7T^ePhIq%{Ij0OoKTCrh9+|MoM73FH(--IH za%B7IAVpI8hVLX)JC3>A#dU}s9jH#!)sd6I+P#g#$|f#13%_p@vCL-e$YP+!F1;p4z$;UAB9v%#O|>SXa-_&d)`2v(em~o?Yn9FHT)F zWr%v-xH31P@GQD$TrxI^je6D$yLw`;$v~G|er@y8)W-V8>TO}>PR>qo8v_zWy@L^F z1^dm=8RaH*XNX|qOB>E!>8(YJx97>Z1M8zzM-1ZMu3p?p!_-zj_9lBr9MxtTLlUyW9LvCrD5vCvVo+%*`jpX=(=PtKp3ojtO$)mRie(k-{N zt2^JAnE52P&AJ{2e_H2rvzTTNMG4p{En=rh4n5jO2Hms>of{V;U#}R})5$ACqL|pNQz$28>e6VGq!R5#^LmGj z^=K<$qp9&aq`BsjsWpiujyT{!66GmL)QDNGBnNq%CX&;VNdv2nBuYi@b^@QDgj86F zAR*K#)XJ_^5`}dR<%J*^3>sfmX;gH{G7@Q(M@cQ{r-wIxs`qaG%v)Vcpf>2Jc5gc5 zD^f4JE1gbe=G;ZUXS}_gYd6iF<7<#ur+2YzE}4;hT9Qw(K7v<6Z2e9$){{yzEM;?t z-jltW7`%JNM3y#8n<;!pZSB)`fV6>`mK#xaRsh`?f0A5TUgcJJ z)#i!L>dczfEnKcyEqBD~JsVe%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "Velg kategori" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Velg kategori" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Velg kategori" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Velg kategori" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Velg kategori" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4344,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4369,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4701,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4735,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4805,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4827,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4847,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4866,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5036,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5097,584 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "No serial numbers found" +msgid "Enter serial numbers for new items" +msgstr "Ingen serienummer funnet" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5728,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5798,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5819,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5936,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6016,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6040,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6123,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Velg kategori" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Velg kategori" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6289,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6429,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6459,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Oppgi passord" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6482,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6569,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6629,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7011,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7060,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7096,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7109,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Nummer må være gyldig" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7177,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7227,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7290,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7330,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8031,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8301,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8358,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8437,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.mo b/InvenTree/locale/pl/LC_MESSAGES/django.mo index 89d5c273e3d431e7842a317bfebddcdbe6cfb0ff..b76b641e430dab8e12c49f2ff4395850ae378262 100644 GIT binary patch literal 27867 zcmcJXcbr^R-T$xD5PGk|4K;ymItYOzrU4;s$tGC{Al#j~yF0tHbB8IJ%pffiB4PtX zOb{tb@j(%#iZn@9QA8;gunShy=TRScR6u>+pL5PFyBm1?{qdU@XWysaQ@-bWzUSN< ze!9mt*LwWE{SMDN2!3!E&ns-@d2cGf@1`R?Zy$Iw+#Ws%w}X$vt>M=pMZBlr&hUqD zZ}?jm{wLg#@J>g0-fnO|xC0yqcZE}-%Fl({!ewxKc!rBV5AI7ia$FBp{zfK_Phaig1a)=3LgYj?)7Gqb5PG2fa-tU@iM6Kxd!e9KMN0lk3!A! zi*P^q3RL;6C)oTuLggO=_59ygUIJCm4UYFi<^K*;y)VJh@D;c- zd=0AJttVRU1l7O2q4FOBw}D4Fj)&^UWT<*hfolIUsQPj)d_LTc@LH&Oz5?zDuZJ4f z+o9TduZw@$#lPsnzlK^De}NjO9au~%e>l{5OoE!<`B3?Kq1t^hRJ*T$YUfo@&%Ygx zg-kacV@cU5Z ze*-l>|A1=mj#F%V4~5D%9;)6MQ1dt!s^8~9t-lMP*3Cw!{yprt8S44pf_uOpz+K=g z@SX7QQ1$IQ)s~wEHI64i&CjVWycB9&&w^@a8SV}*f|~!2LY2D~s-HJQwfiop_B;kv z-`5?#4b`9TLDlyo7ymn`dj15Z&)BAY=bJl7%II3N>0yl@!e4EC_>fW zgc_&yQ2oCRYCP_PS|3kB>GhZ3Uhs9OaohD++wKFPo-@Yr7^r?73)TM_P|ukI)vk7^ z_N;U~7pnigEdMoNqdQ$EAN4N=|ew_W(hQ1$*dl$`$!YTib@ z%htb_;~1!ROn_?NEU0l=;nLp&)sB9s@)yEA;T2HxasyQT4?wl^>rnFgbGR@32h_am zeZ0+o2voaHfSQMyQ1dUpE4+j{ncn$N?a=3z2C0?vWT-wP#o6{!AS3Z+NZLyhxip~mlP zF8nK~c5H<)a{$~Psvn0!jlJYKMSGq<=}qsBB=gc2lt1chI;NJQ2p5C(w~9q z=Z~S<{jv+c3YGs2sD8fVB>Vi`q2y+NC^>F}dd|C{`o9RO{#8)p+XGF%9WRBF&yTwB zZBY5|gOb-LT=*$?AmJCF^wFy>yzdMfo(k2^l~CgnL6vVnJ?|2zasP;m-vITTTcFze z1sDGn7v2mt4$rvwAHaPG|J;TD3bn2!)Oy}FP~n|icsHp2?gv%>VNm^?2#vcCzPBW0QDRn>bb{2)jJ*Pd8at8fRei$RR32)J@-ne`M<^SPN;JC zLe=+#>10@GvfEuSwP~-4C)OfuJ)t=u&)$>=V=Z%_c?WdjL5rmI}K0F($ z-U}Vy57nM)9Ito$G(490JE8Lb0!lvr0Ndbx^H|I9WT^J8hwA@TQ2pKrw}H1qweNFK z?SIgPpM=W)U8wc+6BqwWsOSC3h2Mb6xBYz2%Wp*=;o*eqr`U1W2-W_ZT=)*Cak&d> z9X#&%L#X+E6>6NeKGo{My`Y{q5o&&?L!~c~ zJ_4%#c~JSzfy#G2)HtqzYR{EW_1^&1ug|;ivru~M7tqM93y)gN*@gInq0&!=(m!Xz z<6sl+1n-8J8r~ximG8XHk)sAzZ$`82s22?vQhbn(7l-%79)vo6pe+E_l4^ZRuCY1c_ z(rN44+wl;n_;FD3Fv-QA233AJ+#2Sg#;F%hg_lAf-UlT=--mkskD=!GcTn}d3N_wu zz`fuOXV`PgsT58 zsPTOOYQ6o&@xb%!crS%&-}zAEeF4<^xEAVppM-k;=im|WF(`fdE2#M#9oYU)gPNCj zL&o<{;Y7}2&(=IpxXBlsBymzz7yU8)xXD~VL1E_K7 zgR193sCK*`>N!_K_5U`g{P(%=qfqksG*tfQq1M|^pvL1bj(>+L=jH7>-vLVQc7~dl zBcPstEIb^Z3bh^vT>KsIAi`gP8pju)Wud8(jMB@Id14hpO*6D82Bq3;zkK|L^FrgR2aUxjMVj~)LAwGRFXH4ppsS-G1A4<%yUX()_#p9mAG-v1CH^veH|{9>zsGgrE+>2}ZXN#k_d&v&3G4v% z)4J48_Bzy(F54Rep-%Gdw=loYW{u<6F zUO&m$F}QOGe*k_6_dA?^pTYec_gT`8hjVd@@gD}?#65vOfVbjy#D5n~vhq>*6r7Gb z0RQ7~`0sN>$llOzJ$bH%x8N?ruiqi?XB`0Hx2hZ@lU}Maq;hB=U)Y- zI|@*;m&@dNnef*M&%#L__1hW$Hn_Dm=zSXhxA30@pLKCZ!&3;~iqpEhz{P(OzLU5w zxp0g>IgfP8X{4`*m@3|bwa4C#`2N8b8 z1&)AwI{zxD^{%xV|0dx%6Sn~8Q|{v~q2U<85I2!D{l?<%!@rvgUq^VF68Npa-A?>! zmu4dQ)312kVi$20=@p!G()(TBpW?q1KPHp;P37-w+&tVDU7mv-JBYgpr{8CB$Gdoi zU)3LeXW)K|`x)*e+zvSX-j55(j|wrrPdI8H((jMB>7;kV4Y;r3^t;ExyPLF&a1Rik z0}pZW*TNd%F}UM!UnG1CJQ}war{6X3F?c?ljQcPACn|xT_U|dgRdH9~zJU7=lVb0z z+6Z6n!oPCtCQiTEFpv8%{x@(p;=ciY8~1tKMBICcdoTPht_!yecPj1+xYKcSNsoWu z!Lz3ee;@xP_&?{ukHB%n-2;#lMU2^tilD{1@PV2ks#kcQ2end>`(gxb1Ki z+)CWXNZWuLhwH};;${*5FiyX(u@He>sz`p{w6!&qQej9OLGd^@Ld=fXtg>P|r zs)Rp`|3&x*+|Br}fFHp%@K1pk!qZ>`_rRTkU%xNo*Y8ePuwL)4a9ihZ5`O}&4|hNA zX5t@)`hCp8{Jn#}-*oYD^ht!Ly0~u=`4#-eB0f3FJ*dnru* zJ8(7p_bO69!gX*qZfo3`gfE2q;tt0j|E|aXBLW?nxDOI8<2qg34ESZj*W>j2i-q@? zOWzA_!tIaiA*~(vDg1}x4#Rx}r{5*GAK-q7`!g<&)2~GOB-}2z@wl%Lw+!lcIBo&{ zjV`>1u#eMk6mdtwz2SklU2*ep`YpFGf7cOrVRH{b)q(tbjw`MC3lzb!5>yM2Klmh$DOP^$T*sOEP^^-|uOovRh1 zQq^#E=*`X(mCyULYqcQPI}ny?Cb+0j3jGDOaKMBX2c>#XzG5-TQKRq54hj0T z$e&X$6nR`6U)3WN-!&vY$w8<6^XoyWR;V@oTu{=8gllqPnD=ebI5DnrNP&TRwdQw) zeorN&O%=b^8juiDQnH}Spw50VJFTzr*A-S5d5)&#ZS{)RML01t0k9|&%<^+{olt;Mp zD$!k_(m1N4UM@!ncN|9Isj`}ei_Ct$=??_8TrX3lmEcERePJ$BW>_90y;?~BR>nmV zd37VHwHn%0G$+6(X^1^6=ZXerHPTopRcjhcn^@KYouf9|zpS^sl8Eq4*HtndbU&)s z%5_Q<|>7AV`ViWuU3U=mkKIi2hjy0Gom)29?T7@xgd|G!RIu=+};pn z*cGiY%PcB&7b*k3max?sNSJ4`ROCiT9VfkY!R7+ zD%!4y`ZF?`t!{O|^4Fl7_ApkK{v0Gh-gJKI6|G~U*&U++mU--{dh-HpYpw9A1x)?{S42tzMxj$@b3VDRt{v5Ifj7_lSi}P!w z;}TmKFPF=VUB<5xiSo<({jrfzh(U4OkZ9DW^kdE$IF!Z$uws?*XM31r@Qsqu*hRBL>pju}H88xXbEj6Ar zO_`vbkHoaHroeRnf}RUAnUdI&VzukZ@XE@A30r+?ywW?eKTSZ7^b^HtqomyZImmjy z&9j1M_zOzxn{54B`6gRDVKy{!5t>Y<3)W|9?XtB>Q+V@@zUT^a{Y;pd_MCK84|ZOj z#4?7e?VQsd7^)Si`S~STHh!10WYGSl5)IUXmigk6dqN`ZYL!?bM%bLnP<1(YMyUt6 zV8BYUY4g&#);mO3+NeYw+F)!g%VJ2ylBz2etcz)rrcU?U!^!}w+^CDNBw3!nrd%+6 z6Pwa{JaCO|w1J`m7v*#XGAF~BNM{mrG+|oS)GC3sLo{$<)jL@udNMivlg%_)Kf-J_ zH6>_kLgivAR!T~R6q5$)^-iI!LCHI%5{CW!jp}8;%j#$E)Q~xAfI?4i%|B~k;2cjD zJq}BzCtPEE=6qo6LI#;gWZyi;zW~pL-hyH=?7@m<#Z}lT80-S;T|sk&q*i#?jA zlD5S~QMKkRMvSsY>mdPa_Ggo=x!~G9BB45@v_cguKx1Ib-i@s<6K!|lA<>0WVW2)> zhtFH=PP>6`rN8Knxx3f1^yTR?%h-<|^5CXa})-BmUt*7E2$CIiLf zjRR@&N@u1liF^qm8)v#{5@);a&IdzMV!e%Wt$E}$%T@<l4!rf^EXN^jMAcL;9Oq{=RkGyAUT{82Xz4<4sj+IR-cobKFn^g`Y%}Y%t+swmlgpSn z(b+V2YO?|DP7DU8BYYfYbY!t9`HXR8W5~#`SijUu#v4ahlGCHjRte9qYg4h-hAlu| zj>UP5#&$N>phuf#I}6h9D6|yk?yaiwhTNrC+rR}tO$qjoKiT;GDHidzp>%%{HkFMg zh-Ne!ib*kA$R;^4HP5OIQC%h{=gZZFO0CZ3Fjm79a9(Iuxk@UU4vn*wXsfWka;8I? z09C@_mz$s1ptH6?lSdhII+LRsm@5(OY$FrdPZ=s>S8ORcZsd@%T+_9?6BV0uSj<;5 z;^nnt)tHeVVFzR^1FgYK5ar7$)13#0#^>#Am$5{L6_H&#q6}?I9?Xt~R+m}mit9|~ zwP#Oe?Zto%E;52|{CTh4T%BUzV3wJKUVCKBrFL`pH-9r1s|uU$TC!=T+XHE_nE6I* zX`G3&+nV)T^%JKsRoa}|D^b2~)SK5HTkNKWG^hvDnK;#S0h`QRoFuVEg(aEH%~*2P z5_^0G%u534x-DV57;7X+i?2hG)`$~6mP&lU9hs#hvjv+dQ*~T?d^)jb2@KnoO@D+4Vh@ZnJ;Fg?R|JD_1VAZrq6a8(fd^e0N&b&5&F6enS_LY!`^E4hyai1DQ*XIL__v zrYCl>#VKZ*2xVnlfCY&7&h6GNCml$X!q=CDZ1b-XyS9n46G}-aQMfBgn}dm1rV$r$QT{NW#=|>#*U}1oApC(RFIQa>)Lt<%Qg2pPE4tog z*L%7g;wvw+bH~wURWJ&1qIql*B%#61q5d|jYD!kGFApj`Oq4mu#{RH~o{CSmF4CFb zGE#LO@s@{NhFTAY6k}H}*8zQ*JD@M`4GP}!ct`e@*DL*Mfi6o{@LI^Ms?fI$%|ukq zYqk|7re&@U7{+IHk@3bRg1f#paaHN7ve8!xS3P@V^0Q^j=A{+3Pe`iqm$c!U>m1#U zc;0@gf*E* zoEcYIL(1z6Dkbg2o%Z_K>olq+AEAt;Z{j_%;@cN#di`XCOzI$3JG1zJFkkDn=lwHz z`<9Q)UT^H~a$;B{c7-bDCU=7O_IZt^V#Y%U#F4pGO={65k1_U3kjwF6)DA{>y=0Ao zu7E4NoF+Tb7V%jxkD=$~gJ#vEgNg3KKSY%hPSjqa@lcs)60c%6T~krjDiqbpg`8eu z8c8+>L`gD+iuT>M1^Kp>T&y7K)7kjBL8x(qFxm=s+u~|ZA>THq-cxN`9!>X0w=Zpr zH`F#QqUrvWNmC}bO`g;?d9pw0xam_)7_DP`8%v>7Wx+%h3N7LYU1#*#mWROr*G$GJ zOJb+{<>I;Ri$*VAuy}sjlF1V$jpikS-V(MgZK4pH# z#C#t!8%-!j!zwkcm^}6P(cY3m=(kXSVGH?+IP#SGYjwXr8oVqQaqy0OK6>zG_viX} z@7rH%Hn`-S7v+OK``2#;gKIah%e6{{eiwsHW%kTgFtF*KMuBTe-d3oDpKER2FnImu z_2@=f;0R8f!s5_jui`S6qefx#x)#?~!y`7YOKNdRSmh<>EkzB|^%h>c1(jCN$3$QylGl77k;xI}o4LM`(dDR%%OE|SIvb_U8)}tSsma^gsH+mR zm_5IMJQn)pYh|)XEVOaXZ8gpFDa)q^z39@GU$53no7d6i8qe!T0r4FLEt=(>#%>%A zUhkJf3B`C{Lo%WamoFKK;w|snKOvQdEoZIv2UW(@v}PTzgZcvv!?3)Xmx{}@!A`pJ ztQuUaY17n5TFQlLKrgws7K#0%{YZ?xj?yVycca56}F0_qJ)8)E%TtI`9?Ij)~p@II-~6T zMzcREkq~&UOwzaoPA5>Hn%3N5Kc_GqFvV=MSnFXcFp9WEeV&a~3z9zf$-p(UUXSz9 zQO1ff;0ukq?Tx8(x$6ik9ck2<7=47?BbKWYRjuzW)V=W%p#IvXdwBKY6k*_-$FW-M zS_qIuhyu@?p?2)fIlIYq^s1?-0OsvKd&2i(n-qZ;y5VYfhy zNV}oUa?FC;=jt452DD(Y%Az9k#K#|lmsR<$6j zvZ(#4=`9IbjllUk3$;p9TZnlr71n61OIel3gSMM=&Q~PfxLNGdy!S&cZHf_L8pPcU zZQ>fv_G$1T9xRQFX5#=@j*Ml?xcXHpoefra z(v&Tfk+3oFh%05#Y|@bnb#vHXizy{zHA~oLUIFt40EJp(db*>MEE$vCs?mk4e#r}8 zi*)oSe)711se3DG?5Y(uyLh=<(M#g3jiH^SSZJBu1U1tWw3;SiShg)0JRR-q&8UTJpu=8F?8DP!slGzYI|A(-vf4pN}= zW6jz_`N*ZSEm|MvL#b%iP_dq4)8Is0tq)#i|MIZZz%=o(guC=~KvanF!Ny>rW=u?5 zDxQns#k29aZ1!al1`tn#gz)WBuL?!d}V@)Sa+q3w2&mvPxuh$`B? z>=^gU+K4AXszWAa%UY00sAZRE-IxRB+Z2i=dxib-WJpXqCau;XqCC{(vTxYmE}3su zPDOX~mcJq`JU`#8@vN*Exu`kX>DV<~(48AxD6=r*&czwccv+>y)~6GKE92f?b5!!p z)`jiHv51c^Y!hPhGY-cRnUz(SHBO4Nj(ns!#`yEw7V8@gi654t{m@10kR8*00#o;$ zR&3|Coe!BfR`u8c<>O~##LBwtv`dUhGv+61hJ8_=x}cPdT^eUFAHbM}&Yeo2uS|3_ z(02e*TK0UXJ-3IGl?K0)W!MPvgAZ}Dfh?y%>9ttjr?GC+NF(Aylv&L(NAzW$)3!2y z=cwU%`)$n9`~c4~suE+n?k(3NIr-U9t)y?ncMvb?GeW}kjGD*nj zIb%=jBviK_G^|QbODt<{ZDgkFGRqi^iNT_YX|Yk*m8{#1pk@wKb#^aj9Jp{N$E^y7 zsTSLreGq4V%mBWo;T3OPgGprr1wKM8=$je~EpVT^R2>@94Ww>9unGFi3^c18D~(D_ zzO(6URu~6k%wpd0^(}8_%!yGS;G~DnR!@{?`L)pfasB~)iem~i2i$i!v??F98WD<* zyrrPuZn>Iplzxl7R3IQ>wdsV{VYW=ocTpXZTnxNDui%$oxM_N(s@s`lkXFS}= zs6@xG-O_x{W0U6Bn*ChfVw!9F3T-GhE|cI=9S>+E24=%ps7+Zi6pG{N5-$UceUrov zRl{g@?u)Qn`AUc04qmD|Ap6M=6FBUuz?f%N_nVJ;$dIT?4rH0!NR?4_nQeyScU&mF zqhJSX7$cbmr2BE!@3&YhC9bq&(f8EZv#|H|bx?bJ_moOm##XS#Vl~@qEpkvB&OX`*39uO(_LFfY$Dq#ok8jz5Qh>wz-EfAQdVNt zI*?#_o@$9$6HG;(H2v{_<_V^?E-bMX_HzXiTjwEEXbw(L9A zrbS}9X2v1SV(hQsZE`2^_~_nDMT}1e<9kLOdxo?#{W^(7#y?tX6oP#A>M`?)l5Tfb zrI!FGrF>@h(=6MaEtX@fbDKRgd8FA%%r^-H8&F2?C}YaZ=$6^dS^C+@#(Bkt6Oublf*|AL0lQx;Xt6^X7aabFxA?hx)nq1`v@n*yKHh1-%^gs&z&#lT7i$)!hr!~yi%Qixe!KkcWWp`bzh8zESeUmr zc5l_LxYH8(*fu*=*A<+`>eUvFvbR<;f3R73ABovF+`3$$h0mC28)bTB-KJ5-T+Cw^ znj^8@(%ixyo{I~m|2tEI6E$b=8lQ#mxU3$@REN4r+GH9K>e62umpfLnQZS0mwTRnU z;!6_Ub#wj6n}tO9=?)vHJ%l3VdMm^#aaSosM8>|K%NO9o6)k8z<} zLROG$ph{gwJ-2Bkccb%cv@=q4nWuM7zH*zD$E%_tIcS4+axx|NtXkt%!f00PAE|}n z6g58fFXpP>N-BED)#5a3qG35`C(0J_wz|uR3P<1p1|q%WNVjYWSeKD=P6=Ecu6x^D zIW9ZsZlOlL_*rRPTX+jJGE@A(Y*kD1=1`6h^WnWjbtx};(0yn=XKXgT_zNo8foQNg zAL#MoBY6>*uKQuvDfUf=>NHyni;sWkhy-*tB><}$>`A7o*k`UFtVP0zaYpBXom?4I zTd3A*(;Qm#@z;ty=h`fC0y%B9i&*1dOU)828UcLem-MroHdZ!Vc~ zt35ZbPZE<`ypb{K@Fq2J+B8;zyZ@4=Ny?>G+~y7AQMC4^zK^?V<`)Tev#Rpee)7kb zBeTu&5B4yf!tv&6yTP5dUe&e8$O*25&6L($821*BYb1~BVxOa<(l9wbifW?Cxcb<_ zU3Ai^*!WJnVm~soXWrEEGq)0MOh=4kI_@KfEzX>FJ?TX{{2fLo@0E{rrOb6>$19eOL6Y_S#6?1R7x9~S;FRSP!`?k%UIARRB%RPLmw0IiHhDHW7ryv z*cawYTsKSW4mnT_KEzVyFg-LjxsDmSHE{*O4Q4s8$I^E0l=ZGX7Rz$vY^0_$5(WMV znEP@dsgr-*k~GvsavU7|vTca|nSr?rs=K`+DW{zsvq9Vfw zEemw{rTq5lZn?cJ8lrSFrW9YxnHwkb(m(1hu~=9_BVNtSeVZhy?W|~xkhRQqoXIFf za9S#nG9!kl|2VC{;JRB2j0oQx+9=YQEaAfBAWSc27-fC9f=Wu((JFj82JKJ8{rM}NI z*L%)@=UpNP65f5-4;DIfI0^jD&Q9+XEj{}xz_z1#;lIx8)!mUXJ xMSBA8a-y0pirKxB!&}qipY0g?$&6OZ8o%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" -msgstr "Importuj dane BOM" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +#, fuzzy +#| msgid "Barcode actions" +msgid "BOM actions" +msgstr "Akcje kodów kreskowych" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "Kopiuj BOM z części nadrzędnej" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "Zakończ edycję" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Usuń element" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4224,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4253,117 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" -msgstr "Wszystkie części" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" +msgstr "" #: part/templates/part/category.html:38 +#, fuzzy +#| msgid "Category" +msgid "Category Actions" +msgstr "Kategoria" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Set category" +msgid "Edit category" +msgstr "Ustaw kategorię" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Edit Part Category" +msgid "Edit Category" +msgstr "Edytuj kategorię części" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Set category" +msgid "Delete category" +msgstr "Ustaw kategorię" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Wybierz kategorię" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "Stwórz nową kategorię komponentów" -#: part/templates/part/category.html:44 -msgid "Edit part category" -msgstr "" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Set Category" +msgid "New Category" +msgstr "Ustaw kategorię" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" +#: part/templates/part/category.html:67 +#, fuzzy +#| msgid "Select part category" +msgid "Top level part category" +msgstr "Wybierz kategorię części" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "Eksportuj" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "Nowy komponent" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "Eksportuj dane" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4402,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -4549,311 +4427,327 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Details" +msgid "Part Details" +msgstr "Szczegóły" + +#: part/templates/part/detail.html:66 +#, fuzzy +#| msgid "Minimum Stock" +msgid "Minimum stock level" +msgstr "Minimalny stan magazynowy" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "Ostatni numer seryjny" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "Zapasy części" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "Warianty Części" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "Utwórz nowy wariant" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "Nowy wariant" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "Dodaj powiązane" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "Zestawienie materiałowe" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +#, fuzzy +#| msgid "Print actions" +msgid "Export actions" +msgstr "Akcje drukowania" + +#: part/templates/part/detail.html:375 +#, fuzzy +#| msgid "Export" +msgid "Export BOM" +msgstr "Eksportuj" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +#, fuzzy +#| msgid "Upload File" +msgid "Upload BOM" +msgstr "Wyślij plik" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "Kopiuj BOM" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +#, fuzzy +#| msgid "Add Line Item" +msgid "Add BOM Item" +msgstr "Dodaj element zamówienia" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "Użyte w" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "Ceny" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "Lista części" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "Część jest wirtualna (nie fizyczna)" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "Nieaktywny" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "Akcje kodów kreskowych" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Pokaż Kod QR" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "Drukuj etykietę" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "Akcje magazynowe" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "Duplikuj część" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "Edytuj część" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "Usuń część" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "Część jest wirtualna (nie fizyczna)" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "Nieaktywny" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "Ostatni numer seryjny" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4771,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4805,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4875,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4897,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4917,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4936,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5106,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5167,593 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" +msgstr "Numer Seryjny" + +#: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "Wynik" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "Data" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "Zaliczone" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "Niezaliczone" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +#, fuzzy +#| msgid "Quantity Per" +msgid "Quantity is required" +msgstr "Ilość za" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "Data ważności" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "Numery seryjne" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +#, fuzzy +#| msgid "Source stock item" +msgid "Purchase price of this stock item" +msgstr "Lokalizacja magazynowania przedmiotu" + +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" -msgstr "" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of stock items to build" +msgid "Enter number of stock items to serialize" +msgstr "Ilość przedmiotów do zbudowania" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" -msgstr "" +#: stock/serializers.py:302 +#, fuzzy, python-brace-format +#| msgid "Allocation quantity cannot exceed stock quantity" +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: stock/serializers.py:554 +#: stock/serializers.py:308 +#, fuzzy +#| msgid "No serial numbers found" +msgid "Enter serial numbers for new items" +msgstr "Nie znaleziono numerów seryjnych" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +#, fuzzy +#| msgid "Serial numbers already exist" +msgid "Serial numbers cannot be assigned to this part" +msgstr "Numer seryjny już istnieje" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "Termin minął" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "Termin minął" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "Lokacje nie są ustawione" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "Skaner kodów" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "Ostatnia aktualizacja" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "Zapisz" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5807,70 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "Edytuj lokację" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" +msgstr "Nowa lokalizacja" + +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "Confirm stock allocation" +msgid "Top level stock location" +msgstr "Potwierdź przydział zapasów" + +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" -msgstr "" - -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "Drukuj etykiety" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "Nowa lokalizacja" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "Czy na pewno chcesz skasować tą lokację?" -#: stock/templates/stock/navbar.html:11 -msgid "Stock Item Tracking" -msgstr "" - -#: stock/templates/stock/navbar.html:14 -msgid "History" -msgstr "Historia" - -#: 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 "" @@ -5965,7 +5879,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5900,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "Utwórz nową lokalizację magazynową" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "Ilość nie może być ujemna" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +6017,71 @@ msgstr "" msgid "Index" msgstr "Indeks" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" -msgstr "" +#: templates/InvenTree/index.html:88 +#, fuzzy +#| msgid "Supplied Parts" +msgid "Subscribed Parts" +msgstr "Dostarczone części" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +#, fuzzy +#| msgid "Set Category" +msgid "Subscribed Categories" +msgstr "Ustaw kategorię" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6101,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6125,78 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit location" +msgid "Edit Global Setting" +msgstr "Edytuj lokację" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit User Information" +msgid "Edit User Setting" +msgstr "Edytuj informacje użytkownika" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6212,166 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" -msgstr "" +#: templates/InvenTree/settings/user.html:101 +#, fuzzy +#| msgid "Contact email address" +msgid "Add Email Address" +msgstr "Kontaktowy adres e-mail" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" -msgstr "" +#: templates/InvenTree/settings/user.html:111 +#, fuzzy +#| msgid "Contact email address" +msgid "Enter e-mail address" +msgstr "Kontaktowy adres e-mail" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +#, fuzzy +#| msgid "Email" +msgid "Add Email" +msgstr "Adres E-Mail" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select manufacturer" +msgid "Select language" +msgstr "Wybierz producenta" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +#, fuzzy +#| msgid "Display list view" +msgid "Display Settings" +msgstr "Pokaż widok listy" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select part" +msgid "Select theme" +msgstr "Wybierz część" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6386,143 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" -msgstr "" +#, fuzzy +#| msgid "Contact email address" +msgid "Confirm Email Address" +msgstr "Kontaktowy adres e-mail" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree demo instance" +msgstr "Nazwa instancji InvenTree" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6530,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6560,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Wprowadź hasło" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6583,87 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock is required for the following build order" +msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Build Quantity" +msgid "Required Quantity" +msgstr "Ilość do stworzenia" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "Dostępne" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree version" +msgstr "Nazwa instancji InvenTree" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +#, fuzzy +#| msgid "Part Stock" +msgid "Total Stock" +msgstr "Zapasy części" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Build Quantity" +msgid "Minimum Quantity" +msgstr "Ilość do stworzenia" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6680,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6740,391 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +#, fuzzy +#| msgid "Remove part" +msgid "Remove substitute part" +msgstr "Usuń część" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "Czy na pewno przerwać tę budowę?" + +#: templates/js/translated/bom.js:243 +#, fuzzy +#| msgid "Remove part" +msgid "Remove Substitute Part" +msgstr "Usuń część" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +#, fuzzy +#| msgid "Available" +msgid "Substitutes Available" +msgstr "Dostępne" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" -msgstr "Dostępne" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" +msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "Akcje" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +#, fuzzy +#| msgid "Edit manufacturer part" +msgid "Edit substitute parts" +msgstr "Edytuj część producenta" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" -msgstr "" +#: templates/js/translated/bom.js:772 +#, fuzzy +#| msgid "Are you sure you want to delete this stock item?" +msgid "Are you sure you want to delete this BOM item?" +msgstr "Czy na pewno chcesz usunąć tą część?" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +#, fuzzy +#| msgid "Are you sure you wish to unallocate all stock for this build?" +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "Czy na pewno chcesz cofnąć przydział wszystkich zapasów dla tej budowy?" + +#: templates/js/translated/build.js:202 +#, fuzzy +#| msgid "Unallocate Stock" +msgid "Unallocate Stock Items" +msgstr "Cofnij przydział zapasów" + +#: templates/js/translated/build.js:220 +#, fuzzy +#| msgid "Create Build Output" +msgid "Select Build Outputs" +msgstr "Utwórz zlecenie budowy" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Create Build Output" +msgid "Complete Build Outputs" +msgstr "Utwórz zlecenie budowy" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +#, fuzzy +#| msgid "No build output specified" +msgid "No active build outputs found" +msgstr "Nie określono danych wyjściowych budowy" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "Przydzielono" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7144,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7193,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7229,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7242,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "Dodaj nowy filtr" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Numer musi być prawidłowy" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7310,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7360,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7423,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7463,712 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "Kod zamówienia" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "Odbierz" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "Cena jednostkowa" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" -msgstr "" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +#, fuzzy +#| msgid "Sale Price" +msgid "Total Price" +msgstr "Cena sprzedaży" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "Kopiuj BOM" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +#, fuzzy +#| msgid "Part List" +msgid "Part edited" +msgstr "Lista części" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" -msgstr "" +#: templates/js/translated/part.js:456 +#, fuzzy +#| msgid "Sub part" +msgid "Subscribed part" +msgstr "Podczęść" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +#, fuzzy +#| msgid "Display list view" +msgid "Display as list" +msgstr "Pokaż widok listy" + +#: templates/js/translated/part.js:1044 +#, fuzzy +#| msgid "Display list view" +msgid "Display as grid" +msgstr "Pokaż widok listy" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +#, fuzzy +#| msgid "Display list view" +msgid "Display as tree" +msgstr "Pokaż widok listy" + +#: templates/js/translated/part.js:1283 +#, fuzzy +#| msgid "Set category" +msgid "Subscribed category" +msgstr "Ustaw kategorię" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "Cena jednostkowa" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +#, fuzzy +#| msgid "Stock Item" +msgid "Serialize Stock Item" +msgstr "Element magazynowy" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "New Location" +msgid "New Stock Location" +msgstr "Nowa lokalizacja" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Enter quantity of stock items" +msgid "Enter initial quantity for this stock item" +msgstr "Wprowadź ilość produktów magazynowych" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Create new Stock Location" +msgid "Created new stock item" +msgstr "Utwórz nową lokalizację magazynową" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Enter quantity of stock items" +msgid "Created multiple stock items" +msgstr "Wprowadź ilość produktów magazynowych" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "Szczegóły" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8188,266 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +#, fuzzy +#| msgid "InvenTree Instance Name" +msgid "InvenTree demo mode" +msgstr "Nazwa instancji InvenTree" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8460,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8517,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8596,100 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" +#~ msgid "Build Order reference" +#~ msgstr "Numer Zlecenia Budowy" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "Potwierdź brak alokacji zapasów" + +#~ msgid "Confirm incomplete" +#~ msgstr "Potwierdź nieukończone" + +#~ msgid "Admin view" +#~ msgstr "Widok administratora" + +#~ msgid "Progress" +#~ msgstr "Postęp" + +#~ msgid "Create New Output" +#~ msgstr "Utwórz nowe wyjście" + +#~ msgid "Build Order Details" +#~ msgstr "Szczegóły zlecenia budowy" + +#~ msgid "Child Builds" +#~ msgstr "Budowy podrzędne" + +#~ msgid "Build Order Notes" +#~ msgstr "Notatki zlecenia budowy" + +#~ msgid "Default" +#~ msgstr "Domyślny" + +#~ msgid "Current value" +#~ msgstr "Aktualna wartość" + +#~ msgid "Change Setting" +#~ msgstr "Zmień ustawienie" + +#~ msgid "Manufacturer Part Details" +#~ msgstr "Szczegóły części producenta" + +#~ msgid "Purchase Order Details" +#~ msgstr "Szczegóły zamówienia" + +#~ msgid "Import BOM data" +#~ msgstr "Importuj dane BOM" + +#~ msgid "Copy BOM from parent part" +#~ msgstr "Kopiuj BOM z części nadrzędnej" + +#~ msgid "Finish Editing" +#~ msgstr "Zakończ edycję" + +#~ msgid "All parts" +#~ msgstr "Wszystkie części" + +#~ msgid "Used In" +#~ msgstr "Użyte w" + +#~ msgid "Prices" +#~ msgstr "Ceny" + +#~ msgid "Save" +#~ msgstr "Zapisz" + +#~ msgid "History" +#~ msgstr "Historia" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 487219d34c..5162bf6bc2 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/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-11-13 22:45+1100\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -115,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:109 stock/models.py:1875 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "" @@ -131,8 +131,8 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1170 -#: common/models.py:1171 part/models.py:2219 part/models.py:2239 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2054 msgid "User" @@ -172,10 +172,10 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 -#: label/models.py:112 part/models.py:741 part/models.py:2403 +#: label/models.py:112 part/models.py:741 part/models.py:2389 #: part/templates/part/detail.html:25 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:497 -#: templates/js/translated/part.js:634 templates/js/translated/part.js:1271 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 #: templates/js/translated/stock.js:1847 msgid "Name" msgstr "" @@ -188,15 +188,15 @@ msgstr "" #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:213 -#: templates/js/translated/bom.js:425 templates/js/translated/build.js:1621 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 #: templates/js/translated/company.js:836 templates/js/translated/order.js:673 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 -#: templates/js/translated/part.js:556 templates/js/translated/part.js:744 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1290 -#: templates/js/translated/part.js:1359 templates/js/translated/stock.js:1121 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 #: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "" @@ -209,7 +209,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2688 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "" @@ -217,79 +217,83 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:654 +#: InvenTree/settings.py:663 msgid "German" msgstr "" -#: InvenTree/settings.py:655 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "" -#: InvenTree/settings.py:656 +#: InvenTree/settings.py:665 msgid "English" msgstr "" -#: InvenTree/settings.py:657 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:658 -msgid "French" -msgstr "" - -#: InvenTree/settings.py:659 -msgid "Hebrew" -msgstr "" - -#: InvenTree/settings.py:660 -msgid "Italian" -msgstr "" - -#: InvenTree/settings.py:661 -msgid "Japanese" -msgstr "" - -#: InvenTree/settings.py:662 -msgid "Korean" -msgstr "" - -#: InvenTree/settings.py:663 -msgid "Dutch" -msgstr "" - -#: InvenTree/settings.py:664 -msgid "Norwegian" -msgstr "" - -#: InvenTree/settings.py:665 -msgid "Polish" -msgstr "" - -#: InvenTree/settings.py:666 -msgid "Portugese" -msgstr "" - #: InvenTree/settings.py:667 -msgid "Russian" +msgid "Spanish (Mexican)" msgstr "" #: InvenTree/settings.py:668 -msgid "Swedish" +msgid "French" msgstr "" #: InvenTree/settings.py:669 -msgid "Thai" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:670 -msgid "Turkish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:671 -msgid "Vietnamese" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:672 +msgid "Korean" +msgstr "" + +#: InvenTree/settings.py:673 +msgid "Dutch" +msgstr "" + +#: InvenTree/settings.py:674 +msgid "Norwegian" +msgstr "" + +#: InvenTree/settings.py:675 +msgid "Polish" +msgstr "" + +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:678 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:679 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:680 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:681 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "" @@ -414,7 +418,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:190 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "" @@ -482,11 +486,11 @@ msgstr "" msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:15 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "" @@ -494,7 +498,7 @@ msgstr "" msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:863 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "" @@ -540,23 +544,23 @@ msgstr "" #: build/forms.py:36 build/models.py:1283 #: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:35 common/models.py:1210 +#: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 #: order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 -#: part/forms.py:253 part/forms.py:269 part/models.py:2590 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1128 part/templates/part/detail.html:1214 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:275 +#: stock/forms.py:156 stock/serializers.py:286 #: stock/templates/stock/item_base.html:256 -#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:440 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 @@ -564,8 +568,8 @@ msgstr "" #: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 #: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1502 templates/js/translated/part.js:1625 -#: templates/js/translated/part.js:1703 templates/js/translated/stock.js:347 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 #: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "" @@ -575,7 +579,7 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:296 templates/js/translated/stock.js:194 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 #: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "" @@ -628,11 +632,11 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:199 order/models.py:249 order/models.py:556 -#: order/models.py:736 part/models.py:2599 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:432 templates/js/translated/build.js:1119 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 #: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "" @@ -654,9 +658,9 @@ msgstr "" #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 -#: part/models.py:2165 part/models.py:2181 part/models.py:2200 -#: part/models.py:2217 part/models.py:2319 part/models.py:2441 -#: part/models.py:2574 part/models.py:2881 part/templates/part/detail.html:336 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -666,13 +670,13 @@ msgstr "" #: templates/InvenTree/search.html:86 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:212 -#: templates/js/translated/bom.js:390 templates/js/translated/build.js:620 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 #: templates/js/translated/company.js:745 templates/js/translated/order.js:426 #: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 -#: templates/js/translated/part.js:725 templates/js/translated/part.js:891 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 #: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 #: templates/js/translated/stock.js:2129 msgid "Part" @@ -730,7 +734,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:545 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "" @@ -784,23 +788,23 @@ msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 #: company/templates/company/manufacturer_part.html:87 #: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:539 +#: part/templates/part/detail.html:80 stock/models.py:538 #: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "" -#: build/models.py:330 part/models.py:798 stock/models.py:541 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "" -#: build/models.py:334 build/serializers.py:200 company/models.py:142 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 #: company/models.py:577 order/models.py:183 order/models.py:738 #: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:611 -#: stock/models.py:1775 stock/models.py:1881 stock/serializers.py:314 -#: stock/serializers.py:573 templates/js/translated/barcode.js:58 -#: templates/js/translated/bom.js:596 templates/js/translated/company.js:841 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 #: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 #: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" @@ -849,7 +853,7 @@ msgstr "" #: build/models.py:1253 stock/templates/stock/item_base.html:318 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 -#: templates/navbar.html:32 +#: templates/navbar.html:33 msgid "Build" msgstr "" @@ -857,7 +861,7 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1270 build/serializers.py:327 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 #: stock/templates/stock/item_base.html:340 @@ -884,28 +888,28 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:136 build/serializers.py:356 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" -#: build/serializers.py:145 +#: build/serializers.py:146 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:149 +#: build/serializers.py:150 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:153 +#: build/serializers.py:154 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:158 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:189 order/serializers.py:216 order/serializers.py:284 -#: stock/forms.py:236 stock/serializers.py:307 stock/serializers.py:675 +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 #: stock/templates/stock/item_base.html:286 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 @@ -917,13 +921,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:196 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:129 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:237 stock/templates/stock/item_base.html:409 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 #: templates/js/translated/order.js:431 templates/js/translated/order.js:677 #: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 @@ -931,50 +935,50 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:212 +#: build/serializers.py:213 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:258 build/serializers.py:307 part/models.py:2714 -#: part/models.py:2873 +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 msgid "BOM Item" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Build output" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:278 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:318 +#: build/serializers.py:319 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:333 +#: build/serializers.py:334 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:347 order/models.py:316 order/serializers.py:230 -#: stock/models.py:382 stock/models.py:1104 stock/serializers.py:287 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:395 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:402 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" @@ -1062,16 +1066,16 @@ msgstr "" #: order/templates/order/order_base.html:102 #: order/templates/order/sales_order_base.html:78 #: order/templates/order/sales_order_base.html:107 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:304 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:150 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:298 msgid "Completed" msgstr "" @@ -1173,8 +1177,8 @@ msgstr "" #: build/templates/build/detail.html:81 #: stock/templates/stock/item_base.html:304 #: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" @@ -1298,7 +1302,7 @@ msgstr "" #: build/templates/build/detail.html:448 #: order/templates/order/purchase_order_detail.html:170 #: order/templates/order/sales_order_detail.html:160 -#: part/templates/part/detail.html:1075 stock/templates/stock/item.html:270 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 #: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "" @@ -1306,14 +1310,14 @@ msgstr "" #: build/templates/build/detail.html:467 #: order/templates/order/purchase_order_detail.html:142 #: order/templates/order/sales_order_detail.html:133 -#: part/templates/part/detail.html:1029 stock/templates/stock/item.html:238 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "" #: build/templates/build/detail.html:474 #: order/templates/order/purchase_order_detail.html:149 #: order/templates/order/sales_order_detail.html:139 -#: part/templates/part/detail.html:1038 stock/templates/stock/item.html:247 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 #: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "" @@ -1321,7 +1325,7 @@ msgstr "" #: build/templates/build/detail.html:475 #: order/templates/order/purchase_order_detail.html:150 #: order/templates/order/sales_order_detail.html:140 -#: part/templates/part/detail.html:1039 stock/templates/stock/item.html:248 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "" @@ -1333,7 +1337,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:435 +#: build/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "" @@ -1365,7 +1369,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:345 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1450,687 +1454,688 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:338 common/models.py:955 common/models.py:1163 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:340 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:375 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:380 +#: common/models.py:382 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:403 +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:414 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:437 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:544 +#: common/models.py:559 msgid "No group" msgstr "" -#: common/models.py:586 +#: common/models.py:601 msgid "Restart required" msgstr "" -#: common/models.py:587 +#: common/models.py:602 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:594 +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:596 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:600 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:601 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:607 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:608 +#: common/models.py:623 msgid "Internal company name" msgstr "" -#: common/models.py:613 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:614 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:620 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:621 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:627 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:628 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:634 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:635 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:641 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:642 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:646 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:647 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:653 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:654 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:660 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:661 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:667 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:668 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:674 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:675 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:681 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:682 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:688 part/models.py:2443 report/models.py:187 +#: common/models.py:703 part/models.py:2429 report/models.py:187 #: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "" -#: common/models.py:689 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:695 part/models.py:888 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "" -#: common/models.py:696 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:702 part/models.py:894 -#: templates/js/translated/table_filters.js:371 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "" -#: common/models.py:703 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:709 part/models.py:905 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "" -#: common/models.py:710 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:716 part/models.py:910 -#: templates/js/translated/table_filters.js:379 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "" -#: common/models.py:717 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "" -#: common/models.py:723 part/models.py:900 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "" -#: common/models.py:724 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:730 part/models.py:920 +#: common/models.py:745 part/models.py:920 #: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:731 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:737 +#: common/models.py:752 msgid "Show Import in Views" msgstr "" -#: common/models.py:738 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:744 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "" -#: common/models.py:745 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "" -#: common/models.py:756 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:757 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:763 +#: common/models.py:778 msgid "Show related parts" msgstr "" -#: common/models.py:764 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:770 +#: common/models.py:785 msgid "Create initial stock" msgstr "" -#: common/models.py:771 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:777 +#: common/models.py:792 msgid "Internal Prices" msgstr "" -#: common/models.py:778 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:784 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:785 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:791 +#: common/models.py:806 msgid "Part Name Display Format" msgstr "" -#: common/models.py:792 +#: common/models.py:807 msgid "Format to display the part name" msgstr "" -#: common/models.py:799 +#: common/models.py:814 msgid "Enable Reports" msgstr "" -#: common/models.py:800 +#: common/models.py:815 msgid "Enable generation of reports" msgstr "" -#: common/models.py:806 templates/stats.html:25 +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:807 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:813 +#: common/models.py:828 msgid "Page Size" msgstr "" -#: common/models.py:814 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:824 +#: common/models.py:839 msgid "Test Reports" msgstr "" -#: common/models.py:825 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:831 +#: common/models.py:846 msgid "Stock Expiry" msgstr "" -#: common/models.py:832 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:838 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:839 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:845 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:846 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:848 +#: common/models.py:863 msgid "days" msgstr "" -#: common/models.py:853 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:854 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:860 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:861 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:867 +#: common/models.py:882 msgid "Group by Part" msgstr "" -#: common/models.py:868 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:874 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:875 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:880 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:881 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:885 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:886 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:891 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:892 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:898 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:899 +#: common/models.py:914 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:904 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:905 +#: common/models.py:920 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:910 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:911 +#: common/models.py:926 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:916 +#: common/models.py:931 msgid "Email required" msgstr "" -#: common/models.py:917 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:922 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:923 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:928 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:929 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:934 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:935 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:940 +#: common/models.py:955 msgid "Group on signup" msgstr "" -#: common/models.py:941 +#: common/models.py:956 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:986 +#: common/models.py:1001 msgid "Show subscribed parts" msgstr "" -#: common/models.py:987 +#: common/models.py:1002 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:992 +#: common/models.py:1007 msgid "Show subscribed categories" msgstr "" -#: common/models.py:993 +#: common/models.py:1008 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:998 +#: common/models.py:1013 msgid "Show latest parts" msgstr "" -#: common/models.py:999 +#: common/models.py:1014 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1004 +#: common/models.py:1019 msgid "Recent Part Count" msgstr "" -#: common/models.py:1005 +#: common/models.py:1020 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1011 +#: common/models.py:1026 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1012 +#: common/models.py:1027 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1017 +#: common/models.py:1032 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1018 +#: common/models.py:1033 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1023 +#: common/models.py:1038 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1024 +#: common/models.py:1039 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1029 +#: common/models.py:1044 msgid "Show low stock" msgstr "" -#: common/models.py:1030 +#: common/models.py:1045 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1035 +#: common/models.py:1050 msgid "Show depleted stock" msgstr "" -#: common/models.py:1036 +#: common/models.py:1051 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1041 +#: common/models.py:1056 msgid "Show needed stock" msgstr "" -#: common/models.py:1042 +#: common/models.py:1057 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1047 +#: common/models.py:1062 msgid "Show expired stock" msgstr "" -#: common/models.py:1048 +#: common/models.py:1063 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1053 +#: common/models.py:1068 msgid "Show stale stock" msgstr "" -#: common/models.py:1054 +#: common/models.py:1069 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1059 +#: common/models.py:1074 msgid "Show pending builds" msgstr "" -#: common/models.py:1060 +#: common/models.py:1075 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1065 +#: common/models.py:1080 msgid "Show overdue builds" msgstr "" -#: common/models.py:1066 +#: common/models.py:1081 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1071 +#: common/models.py:1086 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1072 +#: common/models.py:1087 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1077 +#: common/models.py:1092 msgid "Show overdue POs" msgstr "" -#: common/models.py:1078 +#: common/models.py:1093 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1083 +#: common/models.py:1098 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1084 +#: common/models.py:1099 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1089 +#: common/models.py:1104 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1090 +#: common/models.py:1105 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1096 +#: common/models.py:1111 msgid "Inline label display" msgstr "" -#: common/models.py:1097 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1103 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1104 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1110 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "" -#: common/models.py:1111 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1117 +#: common/models.py:1132 msgid "Search Show Stock" msgstr "" -#: common/models.py:1118 +#: common/models.py:1133 msgid "Display stock levels in search preview window" msgstr "" -#: common/models.py:1124 +#: common/models.py:1139 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1125 +#: common/models.py:1140 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1131 +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1132 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1138 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1139 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1145 +#: common/models.py:1160 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1146 +#: common/models.py:1161 msgid "InvenTree navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1211 company/forms.py:43 +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1218 company/serializers.py:263 +#: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1507 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "" -#: common/models.py:1219 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" @@ -2216,7 +2221,7 @@ msgid "Contact phone number" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:102 -#: templates/InvenTree/settings/user.html:43 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "" @@ -2236,7 +2241,7 @@ msgstr "" #: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "" @@ -2272,8 +2277,8 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:269 -#: company/templates/company/company_base.html:76 stock/serializers.py:161 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2281,7 +2286,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:485 +#: company/models.py:320 company/models.py:535 stock/models.py:484 #: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2337,8 +2342,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1868 templates/js/translated/company.js:643 -#: templates/js/translated/part.js:643 templates/js/translated/stock.js:848 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "" @@ -2346,9 +2351,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:429 part/models.py:882 part/models.py:2411 +#: company/models.py:429 part/models.py:882 part/models.py:2397 #: part/templates/part/detail.html:59 templates/js/translated/company.js:649 -#: templates/js/translated/part.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "" @@ -2398,7 +2403,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:576 company/templates/company/supplier_part.html:126 -#: part/models.py:2602 report/templates/report/inventree_po_report.html:93 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" @@ -2412,7 +2417,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:508 stock/templates/stock/item_base.html:311 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 #: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "" @@ -2429,11 +2434,11 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:69 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:70 +#: company/serializers.py:71 msgid "Currency Code" msgstr "" @@ -2476,8 +2481,8 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:526 -#: stock/models.py:527 stock/templates/stock/item_base.html:263 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 #: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 #: templates/js/translated/stock.js:1972 msgid "Customer" @@ -2499,7 +2504,7 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:468 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "" @@ -2507,8 +2512,8 @@ msgstr "" #: company/templates/company/detail.html:79 #: company/templates/company/manufacturer_part.html:121 #: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:477 -#: part/templates/part/detail.html:505 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "" @@ -2536,7 +2541,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:495 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "" @@ -2549,7 +2554,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 -#: templates/InvenTree/search.html:203 templates/navbar.html:44 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2569,7 +2574,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 -#: templates/InvenTree/search.html:223 templates/navbar.html:55 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2595,13 +2600,13 @@ msgstr "" #: company/templates/company/detail.html:383 #: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:548 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 #: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:549 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2611,7 +2616,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:14 company/views.py:55 #: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 -#: templates/navbar.html:43 +#: templates/navbar.html:44 msgid "Manufacturers" msgstr "" @@ -2640,20 +2645,20 @@ msgstr "" #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:15 company/views.py:49 #: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 -#: templates/navbar.html:42 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:123 #: company/templates/company/manufacturer_part.html:152 #: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:351 part/templates/part/detail.html:479 -#: part/templates/part/detail.html:507 templates/js/translated/company.js:424 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 #: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "" @@ -2675,7 +2680,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:989 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "" @@ -2688,7 +2693,7 @@ msgid "Delete Parameters" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:493 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 #: stock/templates/stock/item_base.html:375 #: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" @@ -2764,10 +2769,10 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:156 templates/js/translated/part.js:425 -#: templates/js/translated/part.js:560 templates/js/translated/part.js:785 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:479 -#: templates/js/translated/stock.js:1132 templates/navbar.html:25 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2792,7 +2797,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:214 -#: templates/navbar.html:54 +#: templates/navbar.html:55 msgid "Customers" msgstr "" @@ -3064,8 +3069,8 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:620 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:332 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 #: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "" @@ -3127,47 +3132,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:241 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:242 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:568 msgid "Sale price currency" msgstr "" @@ -3672,7 +3677,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2441 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3728,7 +3733,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:95 part/models.py:2487 part/templates/part/category.html:11 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -3742,8 +3747,8 @@ msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:13 part/templates/part/category.html:122 #: part/templates/part/category.html:142 templates/InvenTree/index.html:85 -#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1303 -#: templates/navbar.html:18 templates/stats.html:80 templates/stats.html:89 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 #: users/models.py:41 msgid "Parts" msgstr "" @@ -3806,10 +3811,10 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:778 part/models.py:2237 part/models.py:2486 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 #: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:927 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "" @@ -3818,7 +3823,7 @@ msgid "Part category" msgstr "" #: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" @@ -3831,7 +3836,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:552 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" @@ -3888,9 +3893,9 @@ msgid "Can this part be sold to customers?" msgstr "" #: part/models.py:915 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" @@ -3930,198 +3935,200 @@ msgstr "" msgid "Sell multiple" msgstr "" -#: part/models.py:2287 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2304 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2324 templates/js/translated/part.js:1354 +#: part/models.py:2310 templates/js/translated/part.js:1355 #: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2325 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2330 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2331 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2336 templates/js/translated/part.js:1363 -#: templates/js/translated/table_filters.js:258 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2337 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2342 templates/js/translated/part.js:1371 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2343 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2348 templates/js/translated/part.js:1378 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2349 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2360 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2396 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2404 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2411 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2443 part/models.py:2492 part/models.py:2493 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 #: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "" -#: part/models.py:2445 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2445 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2497 templates/InvenTree/settings/settings.html:167 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "" -#: part/models.py:2498 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2575 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2583 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2584 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2590 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2592 templates/js/translated/bom.js:451 -#: templates/js/translated/bom.js:525 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "" -#: part/models.py:2592 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2595 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2596 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2599 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2602 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2604 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2604 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2608 templates/js/translated/bom.js:542 -#: templates/js/translated/bom.js:549 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "" -#: part/models.py:2609 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2614 templates/js/translated/bom.js:534 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2615 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2700 stock/models.py:372 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2709 part/models.py:2711 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2840 +#: part/models.py:2826 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2862 +#: part/models.py:2848 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2874 +#: part/models.py:2860 msgid "Parent BOM item" msgstr "" -#: part/models.py:2882 +#: part/models.py:2868 msgid "Substitute part" msgstr "" -#: part/models.py:2893 +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2897 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2897 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2929 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4261,7 +4268,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" @@ -4328,7 +4335,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:364 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4433,78 +4440,78 @@ msgstr "" msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:392 part/views.py:820 +#: part/templates/part/detail.html:391 part/views.py:820 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:398 +#: part/templates/part/detail.html:396 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:399 +#: part/templates/part/detail.html:397 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:412 +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:429 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:464 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:491 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:507 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:692 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:693 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:744 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:882 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:939 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1091 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1103 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1115 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1204 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4615,7 +4622,7 @@ msgstr "" #: templates/js/translated/company.js:504 #: templates/js/translated/company.js:761 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:463 templates/js/translated/part.js:540 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 msgid "Inactive" msgstr "" @@ -4625,11 +4632,11 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 -#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" @@ -4645,12 +4652,12 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:563 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:792 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" @@ -4685,7 +4692,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:517 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4789,7 +4796,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:511 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -4831,9 +4838,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:473 -#: templates/js/translated/part.js:427 templates/js/translated/part.js:782 -#: templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" @@ -4850,7 +4857,7 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" @@ -5082,7 +5089,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:531 stock/templates/stock/item_base.html:238 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 @@ -5095,12 +5102,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1856 +#: stock/models.py:1855 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1862 +#: stock/models.py:1861 msgid "Result" msgstr "" @@ -5126,11 +5133,11 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:418 +#: stock/api.py:422 msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:588 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 #: stock/templates/stock/item_base.html:382 #: templates/js/translated/stock.js:1246 msgid "Expiry Date" @@ -5180,241 +5187,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:625 +#: stock/models.py:60 stock/models.py:624 #: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:626 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:353 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:389 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:399 stock/models.py:408 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:400 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:422 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:428 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:435 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:477 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:486 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:494 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:499 stock/templates/stock/location.html:12 +#: stock/models.py:498 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:502 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:509 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:514 stock/templates/stock/item_base.html:271 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:517 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:533 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:547 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:551 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:560 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:562 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:573 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:576 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:582 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:589 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:602 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:602 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:612 stock/templates/stock/item.html:111 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:621 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:631 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:632 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1095 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1101 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1107 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1110 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1113 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1120 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1278 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1776 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1839 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1857 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1863 templates/js/translated/table_filters.js:248 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1869 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1876 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:155 +#: stock/serializers.py:166 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:173 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:276 +#: stock/serializers.py:287 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:291 +#: stock/serializers.py:302 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:297 +#: stock/serializers.py:308 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:308 stock/serializers.py:676 +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:326 msgid "Optional note field" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:339 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:546 +#: stock/serializers.py:557 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:585 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:595 msgid "A list of stock items must be provided" msgstr "" @@ -5556,13 +5563,13 @@ msgstr "" #: stock/templates/stock/item_base.html:136 #: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:229 +#: templates/js/translated/table_filters.js:241 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:146 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:235 +#: templates/js/translated/table_filters.js:247 msgid "Stale" msgstr "" @@ -6063,7 +6070,7 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:89 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 msgid "Settings" msgstr "" @@ -6105,137 +6112,137 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:16 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:18 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:51 +#: templates/InvenTree/settings/user.html:54 msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:75 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:81 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:82 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:83 -#: templates/InvenTree/settings/user.html:150 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:90 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:94 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:101 msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:108 +#: templates/InvenTree/settings/user.html:111 msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:110 +#: templates/InvenTree/settings/user.html:113 msgid "Add Email" msgstr "" -#: templates/InvenTree/settings/user.html:120 +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:125 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:159 +#: templates/InvenTree/settings/user.html:162 msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:164 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:174 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:183 +#: templates/InvenTree/settings/user.html:186 msgid "Select language" msgstr "" -#: templates/InvenTree/settings/user.html:199 +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:201 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:208 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:210 +#: templates/InvenTree/settings/user.html:213 msgid "Some languages are not complete" msgstr "" -#: templates/InvenTree/settings/user.html:212 +#: templates/InvenTree/settings/user.html:215 msgid "Show only sufficent" msgstr "" -#: templates/InvenTree/settings/user.html:214 +#: templates/InvenTree/settings/user.html:217 msgid "Show them too" msgstr "" -#: templates/InvenTree/settings/user.html:221 +#: templates/InvenTree/settings/user.html:224 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:222 +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:230 +#: templates/InvenTree/settings/user.html:233 msgid "Do you really want to remove the selected email address?" msgstr "" @@ -6276,7 +6283,7 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:280 templates/js/translated/modals.js:53 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 #: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 #: templates/js/translated/modals.js:964 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 @@ -6362,12 +6369,12 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:37 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format msgid "" "Please sign in with one\n" @@ -6375,18 +6382,26 @@ msgid "" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format msgid "" "If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:40 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:46 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" @@ -6454,11 +6469,11 @@ msgstr "" msgid "View in administration panel" msgstr "" -#: templates/base.html:94 +#: templates/base.html:96 msgid "Server Restart Required" msgstr "" -#: templates/base.html:97 +#: templates/base.html:99 msgid "A configuration option has been changed which requires a server restart" msgstr "" @@ -6484,12 +6499,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:464 templates/js/translated/build.js:1129 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 #: templates/js/translated/build.js:1749 msgid "Available" msgstr "" @@ -6645,7 +6661,7 @@ msgstr "" msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:280 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" @@ -6707,91 +6723,99 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:183 +#: templates/js/translated/bom.js:184 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:225 +#: templates/js/translated/bom.js:226 msgid "Select and add a new variant item using the input below" msgstr "" -#: templates/js/translated/bom.js:236 +#: templates/js/translated/bom.js:237 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:242 +#: templates/js/translated/bom.js:243 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:281 +#: templates/js/translated/bom.js:282 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:282 +#: templates/js/translated/bom.js:283 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:401 +#: templates/js/translated/bom.js:402 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:405 templates/js/translated/build.js:1111 +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:410 +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:482 +#: templates/js/translated/bom.js:483 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:497 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:504 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:642 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:605 templates/js/translated/build.js:1183 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 #: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:613 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:615 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:617 +#: templates/js/translated/bom.js:618 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:619 templates/js/translated/bom.js:792 +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:621 templates/js/translated/bom.js:775 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:714 templates/js/translated/build.js:855 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:770 +#: templates/js/translated/bom.js:772 msgid "Are you sure you want to delete this BOM item?" msgstr "" +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 +msgid "Required Part" +msgstr "" + +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + #: templates/js/translated/build.js:78 msgid "Edit Build Order" msgstr "" @@ -6870,10 +6894,6 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1095 -msgid "Required Part" -msgstr "" - #: templates/js/translated/build.js:1107 msgid "Substitute parts available" msgstr "" @@ -6936,8 +6956,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:872 -#: templates/js/translated/part.js:1264 templates/js/translated/stock.js:1064 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 #: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" @@ -7023,34 +7043,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:447 -#: templates/js/translated/part.js:532 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:451 -#: templates/js/translated/part.js:536 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:624 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:666 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:667 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:684 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:696 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7059,12 +7079,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:412 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:413 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7072,19 +7092,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:296 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:299 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" @@ -7364,7 +7384,7 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 -#: templates/js/translated/part.js:1481 templates/js/translated/part.js:1692 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" @@ -7524,120 +7544,124 @@ msgstr "" msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:404 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:409 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:411 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:439 templates/js/translated/part.js:524 +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:443 templates/js/translated/part.js:528 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:456 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:574 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:763 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1199 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 #: templates/js/translated/stock.js:1802 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1043 +#: templates/js/translated/part.js:1044 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1218 templates/js/translated/stock.js:1821 +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1283 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1296 templates/js/translated/stock.js:1865 +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1340 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1391 templates/js/translated/stock.js:786 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:787 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1398 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1420 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1434 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1459 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1616 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" @@ -7880,7 +7904,7 @@ msgid "Stock item is destroyed" msgstr "" #: templates/js/translated/stock.js:1185 -#: templates/js/translated/table_filters.js:165 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" @@ -7988,180 +8012,180 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:160 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:375 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:207 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:206 +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:198 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:134 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:157 +#: templates/js/translated/table_filters.js:342 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:158 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:151 +#: templates/js/translated/table_filters.js:163 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:155 +#: templates/js/translated/table_filters.js:167 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:168 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/table_filters.js:173 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:178 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:211 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:221 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:267 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:295 -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:345 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" @@ -8189,8 +8213,8 @@ msgstr "" msgid "rows" msgstr "" -#: templates/js/translated/tables.js:377 templates/search_form.html:5 -#: templates/search_form.html:6 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 msgid "Search" msgstr "" @@ -8218,30 +8242,34 @@ msgstr "" msgid "All" msgstr "" -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:82 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:84 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:86 +#: templates/navbar.html:90 msgid "Login" msgstr "" -#: templates/navbar.html:107 +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.mo b/InvenTree/locale/ru/LC_MESSAGES/django.mo index 45a221f8727b8cb60022d5cd21b59c05fc4a8351..538be8df291582cdd317a30a4b3307a7adb2a319 100644 GIT binary patch literal 12057 zcmb`LdvILUeaCNjgvLM!k2Yxn^blTFK(=HI7#TtQkc~jLg(MSFAY`?BEiGQ{F8AKG zt%6%WFa~U(7+M%I0ZgEQVJNn-u#9cFGf6u6Bkk;V=(L%JHq&%krjs)5OgdzSPU+`+ z&e_%7l?-$yYae~@J;Qk8_v=BX1_PkvyBqv6ct7|#@M-X?;9l@F@P{6M0!oEk?3MKLPSTc$Ghr?9B{}nt5yp&Dlzqw!sxDeESAt?K71Et@~pyYTR zlz$HR{=WjH@85d-87P1K0+c=82PN+Zp#1bjjG_J;Ke*{YIjthd|_rW3X za_|lC7Vz)DMc~B**F5k}Q1f?z>VE^2Ki>l}N$>&4lHdy*Cb{N;?cj}|Giy`*Gaqv2D3Y49H4JvNVBuR^(mx7oe=mRx>6#NGGy6-=gptywh zi$I;T0+d{Lfs&^P%Kuxz+rZtR&ie&;19$<-Vxr(q@Op3@)H!c~lJi5b7i{AY**OMv z&K6MTJPqocS3s>l0`fojHGgEU3rJ3F;5DG^_-$}8SOPWwHE;lY54;szjMCcoQBeCl z2lj(M0GEO1;XJ+H4qgSm3L5ZTQ1<&@Q0vZ}>&{yQ?&f_ZcnbIqDF6Kwyc7HYlpI3{ zc?b9esD1tel)fi@&DG7bKt6*W-xMew*T5y9oOlMX z6x6ykp!hWgLd9T*?|&JTK0g34b?^?Tc^`rs!E@PEa_s^&?^#g(eGQa;KLmCDKlt(Y zK~h5S5%?K!18s=*N3@4%J7{ZYkI?kFjn-?Q-2RFoea0ME*(081BYhrl5X9i^w0mfV zwup8=O=s(~+<}du9MAXCq&MaX$~1lYXj^I5(ny=OPJIL1Nz(^vS{v9G{&dj3~R#_?4QL=eH3H*lxSzu#Fg!|EwnkbCA2@J6=)aHx@Z^DzD6SygKyGq zqJ5V3ZQ5P51+;{AI_*xHKAUK&AL);Hs?S0P_U~o=^)hf%O3Nix~dv9Oq=9%DVzl`j=dF${BIE?An$t{;iCli65`)`yYFj)vLwW?d#< zu)|TdlnYI!5QUlCxEaeNjK`)w6D6iJd{3B7*kblMgGnj7zBdWSKGnp&QZ{1+Yuz=D zOWAxTLBoytWYjcvZJaxriAQG$*qAnbIFbiTEBOLS>#tc|O2XJbuZeOP&Gp-7GZ3x| zqp+9_)4lcSB~3S_N>Z*QCR-XS7eWN|Gn)son}(KU*s36tF0=L>E^RVNiM7Rb`Do1K zWu{!nHu#1q`C=G{!Lrhr^&n_ZP=|dmPLE}7HQjEPVXIfx9c8WA7;>G{uM$f%D6KPY zl~blM!O9{D+|G5;PB_0s0l%ymZZzdg978P>_nk93Vi5%o7CZ%lW!`AZGh>+%OtxHx z35~eKbDWLxWoxI@vzc46eVIa=rX*2mTnj7ZLLOd)K03P0eIuJ^>n*BR1nJ4;6SJ0B zGQGuhr3k*uA?j6#SwW?0&@)DWm|>!an6%-Tm3kwUh+})k%E@?hK(aQ<7e|7g;z%JM zb51egj2xo*$0k#`(T1Vi>%El>q07d|)$BAk-jo318MES`XA@@@$q{||;`(3(0WR)Z zhOH3QM}w6i8W)3=Q5dcdZVHE^aAVNhzuJsd;>5+iiNcX^6HXVnNO;mx>`7%vy1JfTUJ3FeMxtE{wBaL#B{t zdV0gMa*lRw3@dS!olom48b&Hdr44yyI7Y(a5E_|yJXV;EhM5A1#O687U9wXeGDQ9dH-co{&#h?!rvv}2VAVJUd_>+vBMB{-Bs&EeL7G68h7t}La<3Z{a z#pk|KoCK>f(R%O3Ox#E!bVEaz+no!2c7-aLV3qvfHG_OM@7}Eu91>v}Oy4}mN-I;R zCajhTS7Yt0%>Z#Z%;wkS5sN;X-%oUUeO!9`#jXaW2c~1hZKGXhFjIw#{v;EPgo%v; z<|K4Q8^aM9pWJLR#*?5DiJjxvC?~;{wO89Jr)*Ry=I^c44LZ^pjkaHTnygEDq`~+1$||m2ws9 zyx>-!6M}&-8?tlGWJWT1!p)Q`5p;_syGmQ5oTavJieiQHW~Qm6bJRdMR?>DY0bB20 z7nR1Q!*w8xiRw5%TnJg1R3h#pjR#}rW?^n=OoCLnu;AfAa(Xr~%gBHuB|^x*uTxf1 zDzNt#dPx@~1qHs@U6f<2tN7#7iR! z4JMhS!d^DAv)qMb0QY7?C+o|R>mor`NM_?ElT&(W>5QD+g29bp&dT6&PP&*3Io2;% z?)T5C11{QK1$Skh$}`VZdagbNstwMBsSw9x)+x&-qxslI&%9u0G?Nd8D$#l!s`?e& zmJbtUOYRYJqP?M*;qky}9#9!enVhRY5K3-u@6EN}7Dh4Wb`b!i&4jc$XCN$>qNIIQ zJd)3~FRhHk?L(z5GpBz|`#`uMui5R=rOPbnSkT$t+0owFX*#ayT5#Q*zD%674@H?` zT*xG)h(&!QzzPx6J``rgx{N17qr1yQmAePl&RNyFs%Ki1&UqbkxIF0Q+CDU1=A?u~ zJHK3j>5FZRAbE7J9a_=8XnLMbjhH`jMB)U#dJVXilw z3(WoZyQSs^)48xsi#w+mcXzWDGwcFwb#-d1>zG|1>(C&^tP8?P_3ak0-BoREi|5?l zzAP$jM8S6N#I)yT47T?!?=lOoUT{@MM`~r=DYAa5TNi{bGyjeT6XrEa>0PGK*)hNI zI$t-pLO4Gx&hJ}x_o|-3!6hqu2IuGQ!P}*ImPf1mEKazEQ*`Sr z$y$4WjdhZwd9ylY=--FbQ|P0mn#03{Vb_C<96{NwwcSDW6^@V|JKC8uRXwN)2q-}s7MDYjJ)IEkz|YL6h|+YD?c`%yxE1N+!K)~l=SZ)&r~{b$C8S4zJFwa2T6tV!#x zGg#`FtcvfpVIle9Xi$B*_Gs-PQ+uezR5JVj*H|efpVt8#V~McW`pWt;s6LHQV$3#N zGAT*rM~zM5cs(NcLEQ6p%h+DrvG)Y?#*Lpi$6L~}Ok7e1#kh(lZ7-`IXyU)PEYS{F?d$ZkX$6wAk20?3P?Ju? z1Y4?%G*Wv@hndUq6YRa;r7P??A?2iVTTp$0g@?!p+iMS5K^uaoj*%#8kJTO)w+S?2 zrL{Qe$B61v*nPj1Pj)*XmpQJVsF3l6mz%nRg;k2xWB8;IS}!1n6s9_$Sb9t3IMz(Y z+GA7`7u{0nQ2l(VD9({EtVL(+$B{m1TYAaoa)>0hAzP=8N|Z!kI)8}=5=m_*ox6N# zSJkJu*-1DWH)2XvJ9`9+}R76P|SYa(~cn98?Ewi7GZaxDRU`fOz9maN_?M+-sVyae+a)_1cW`J@Qn!^#Ob zc?=4Qc>MFF=>*BwsGL0jZw|w54D=Gmz^vMXu=CI~yS|GxCC`KPO#YuS4v}=-4^b@@&m|Ynbb;#Dj>( z2`8IMBx#FX5D*&8LQX~ZL+rPoL9QytIaj*48?7x;QN(Z_b-2~KR>{$VlJ zSB|h|cn0yvx0D|iPBZ5XXUpl1XQc!Jr>+IcH(Ql@aQbA!P^yOZTz4ZpAhByZX4Zpg zjw^1^N!NB81Z;NL=qI@<`I-~t)znu3rMeRgh(d=viByPOen&&>B>i07QAEf;t(O!T zo=n_yc|$oR&+WCxt&b<37LZ7lqxVWM^?Xss^KUxwvi(vyx z@_NzrH(S^uwH^zjUAn$SWym{-Vu45ZtwbrB@L%3kDZ@# z9>-it=`N9oI}$2Y;YH}_WN(+qGP4L#+veg~ z+}77-TUT9S+a)O#RXXV{_~ftK-{sYXwofX`2L}}(3e?9i2`ihv_5{`ME7%n!@{YJD zD%*>XGjpmO+m06L-7m0M)+K+$bo_4df{bHpGS|WxNs6nw`?(g@;6w>1A)txlI&Q;d z_HL((gOZ6Z;O-`7$(2675hD~YUEx$@Fre2`6=xE4Cw(fkla%$T0t#}uYQksSLlQ%- z!9RqEDwLe!0!0!iQ7RYMpM#MbCaFYPGqUFRjNLfZ?l!BuVlJmoB9gB2{`x8Toz@CW zlD9vB@FB)hc43iHyH%~RKlvLeW&Bhv)@@jcSK(xHyuOo>7+nVBA}jjBl;^b_`Mtp} z*Av%I#NRUz;daRh1=_r$`T|Pg}wDF{+6k1H#@1c@s~hhhsGD{h6+ry zDx8>6FhM`UDASX0?d8G!%5A?1zwHLBTWnYa)%sTj^lS-Y$Icn|fxT?}xJY6}(Vx_B z1sOCrPIjwIvZ13>)Tt%3$`9Mtgq_3-)<$&$&{8Q+>q&< zRGqOiEa~8-@~yw

<*MAI*0l3je>hX(GJgriboShu(x{ZDN+S2ZrH*wVV)-U-;F zsbpC8*aGI~G|mXB&tOAQGIeus4BTJe0|Ho9ZL#6RPkv3=)_!TR30>^729XI-Mc>M; z`VH>-pX!>{+iHRG_IpBYE9A3kb6<6|%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Удалить элемент" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4190,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4219,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "Выбрать категорию" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Выбрать категорию" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Выбрать категорию" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Выбрать категорию" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Выбрать категорию" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4364,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4389,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4721,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4755,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4825,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4847,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4867,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4886,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5056,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5117,586 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of items to build" +msgid "Enter number of stock items to serialize" +msgstr "Количество элементов для сборки" + +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:308 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new items" +msgstr "Введите серийные номера для результатов сборки" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5750,70 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "Confirm stock allocation" +msgid "Top level stock location" +msgstr "Подтвердите выделение запасов" + +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5822,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5843,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5960,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6040,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6064,76 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit User Information" +msgid "Edit User Setting" +msgstr "Редактировать информацию о пользователе" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6149,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Выбрать категорию" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Выбрать категорию" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6315,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6455,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6485,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Введите пароль" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6508,81 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Quantity" +msgid "Required Quantity" +msgstr "Количество" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Quantity" +msgid "Minimum Quantity" +msgstr "Количество" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6599,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6659,373 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Отделить от родительского элемента" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Complete Build" +msgid "Complete Build Outputs" +msgstr "Завершить сборку" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7045,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7094,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7130,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7143,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7209,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7259,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7322,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7362,698 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "Confirm stock allocation" +msgid "New Stock Location" +msgstr "Подтвердите выделение запасов" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Enter quantity for build output" +msgid "Enter initial quantity for this stock item" +msgstr "Введите количество для вывода сборки" + +#: templates/js/translated/stock.js:195 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Введите серийные номера для результатов сборки" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created new stock item" +msgstr "Отредактированный товар" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created multiple stock items" +msgstr "Отредактированный товар" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8073,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8343,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8400,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8479,52 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" +#~ msgid "Build Order reference" +#~ msgstr "Ссылка на заказ" + +#~ msgid "Order target date" +#~ msgstr "Срок выполнения заказа" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "Подтвердите снятие со склада" + +#~ msgid "Confirm incomplete" +#~ msgstr "Подтвердите незавершенность" + +#~ msgid "Confirm completion with incomplete stock allocation" +#~ msgstr "Подтвердите завершение с неполным выделением запасов" + +#~ msgid "Confirm build completion" +#~ msgstr "Подтвердите завершение сборки" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.mo b/InvenTree/locale/sv/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..7156b00547b8910215827d429a31ef2f6c8319be GIT binary patch literal 4084 zcmZXWO^h5z6~`+i;bR>L81oTGLWKmpo49v()^@VY#=-k(mff{CI~yxNNL15ZGgF@K z>ZZD8HsdG~AR&by5#FCU78!$npV+0~$pF1P3H!2?<3ZM@}f0L>v(Re|PW9 zI%#dqufE@__g=l)HxJ+TiomymayQDO9}+@=Pu+$ed~e+@#Am^OffL|+;4$#l4-0WG zI17FZJO_RR{8mK;eiUs}wH^2gv@e360e=i00WX7}1h0Wy{|0yn{3}Sg{{XrFe?W*9 z{{^WhCw~FB2jseW{7}Es;9+nBq`arWPlE|~2lxY!di@lf0xyBw=MNSC2||Q;x8nam z%Do+n*nbG5{KFvkp8+ZFG4L+%aquf(7sOKWGKfF%GyHJQB?fz8N?l;1|(;8J!&eE%*?44SW!M3#49$V0=s!M=IV6 zvVXE_*FfsG07~$2kaln&?eY_l`(FmJrT7&{`@IfQzdwN=2mcOEfp1sicc7DU?gu&V z7|8t|0qMUDkaqqyh(F=*L%V$+vfQR`5VZ6Z-DoK?|_WABXBP5G7U05 zPJ+~b9^}5KtMT=!e;cG;PlD86gV;)RLEguUAlJWC@lwUhAlJPLa^Gtp_5VGHql-U+ z^vezKQ{dYm!ejJ3irUvuZbezDdTEzB3g_>Cr%{$i_!!CqDEw$2p7kgj_$Y6- zsEvOZGqmq~)kR&8p`5JR(-j{Ei+HQr^zqlLI_=7@$TQ%BC^$~>(N?_Qv^D**f^rIl zHd{pDCs7zHH57gU3T;Qf(T9w`FQL$GlPLQi^B_O^g}(SQ3S)+L=ErzgE^6h^abO1J zMAdhH#YZYKuZhL&b*XKXrN(+`Q!iU-&qiX=dlhyPZT*3&+%vu-eaGaoWnyhrqNR$R zR?$G}XHD*Nv82Lo+i?rIm%6TYGVJKED_aT+BC)J&sN5!1xz$r-G3R`-I%R-E)|-nq+<;bM1_ZrR^n692d)tZHragj!lmB)}u30 zI9OS|Nz<}xr1+|HsgsU|#U6!?#Tx7;!^%i((CS5RVSZ@im9e=ruxcA>gdOEnNTElc z3!gtao|%|D=dSu$uWe2f?C&O%US9gXsio$b#2S>q>Cb4FC@ao5t-InIy6NrkG_mB>qzNs=*1kgr`0JLH=&Ar&-L2w8qOC3v}h_f`=*;K+VIJe9* z9h#PbNc1HNZl+zT!7}_YaFbghzPJ`=Q@5wvlz(nRY$GJ->+M*D*las3JienZz!+%n zXy0>|l^!gQB@IM!=;bnkp-p2|ZC)kmpR_(#|Ucd>4@CzC?j@zuFJ*~ z&`z8;+A|1ni!ud=dC|+_R7GXDZM&3;1nW_7UOPIxE)7lWVd9A$ou$qPTY1|=!BVfC z2fJxqPHdkGc68rxcCZ3H>vC>(t`^j0gIZ0_K3t!hpV(Bn4|bihd92`bEZS7I-NOY7 zcC||CvQl`|U6*;x_%$Y1!#x4|5oNIsTiQTne zemsv-TiOMyHcV;yx}0wsKd~M6oQi|B)FpXc+N@~ir{)%9Sv@sr<$b4QZE9iS$za)~ zdsrJ(_Bm*j4-5wDD|LC|_Um&w94&Wyc_BB8}@0 zONu2EtF}T8Ll!p{NdZYpS)_N_EJkFa5gZyzm|GA!R&2lpE{$WU`p9xf-N@Xza!u_K zQIa_$9)w+r5R3h$>%m`QgPGgpU4_*}@>WhXpi*mi-H9dLb;Bzyuf{dmM5uYyw!AE( z@q@jTuADbr9Uqur2j0tgcsScz6XT#TocwF}G8Dse=r8L=LaG!lJUfpX?o^?50VP6*SUHf-B{5&@$EQm^&@n zw&vaIC1v$}`WM4v)z@?^k@zIt&>VOqtvrO5h4 z?OZ8Lb`?@^isy+2D+5bZW1e|;zabG!S(Wui<4F2=q!8q$ul)y7erI?k&Qln@jLDnA zuSooOxu8>#`&lV-KWlVvoYG5M!>f2bpa>3zP?x3Fc;5=A@hz~B+lIAE%uRJ(H#B=Pc&jM zv1sfRCdZQag4`%y2g4oEY#|!(Fu=~O6j!^^HN1_*%bDRTS~=%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4172,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4201,113 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Select Category" +msgid "Edit category" +msgstr "Välj Kategori" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Select Category" +msgid "Edit Category" +msgstr "Välj Kategori" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Select Category" +msgid "Delete category" +msgstr "Välj Kategori" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Välj Kategori" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Select Category" +msgid "New Category" +msgstr "Välj Kategori" + +#: part/templates/part/category.html:67 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" - -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4346,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4371,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4703,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4737,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4807,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4829,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4849,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4868,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5038,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5099,584 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "No serial numbers found" +msgid "Enter serial numbers for new items" +msgstr "Inga serienummer hittades" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5730,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5800,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5821,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5938,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6018,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6042,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6125,158 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Select Category" +msgid "Select language" +msgstr "Välj Kategori" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Select Category" +msgid "Select theme" +msgstr "Välj Kategori" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6291,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6431,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6461,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Ange lösenord" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6484,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6571,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6631,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7013,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7062,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7098,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7111,63 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Måste vara ett giltigt nummer" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7179,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7229,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7292,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7332,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8033,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8303,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8360,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8439,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/th/LC_MESSAGES/django.mo b/InvenTree/locale/th/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..17059a4edac8e9c50a5be95a5e8d4e73d324eb5b GIT binary patch literal 515 zcmZWlOHRWu5G{h0m#kTM!IEh{1(dq#0{VeSji_3KkPxa&Vp3PG9XW1+gK#J=!C7z$ zq!oe#?%yNQ5KMWx7AqcR4PQo@CvC;xHOqG&Z zZQRg^seHw94wSPc!F0|)JXY?8+aWdHQ2%0|XX=NQ5pl^j+WBIG~3dw}(;B?MR z$!+(R4k6n1RV$ylfq_bOCR9#v^du}A%avgghT1Gkf>p5z%WlxY-)`6MpnK>U{o;n; zN0nVE{uLqa6MT9WwtRnQ^7qQ>qMh_mNJrm$sHJVjmB`eI{D@`Xdv)kZoifQiuDnri bmJFuTi>txZ%N9;P-7NH%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4334,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4691,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4725,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4795,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4817,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4837,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4856,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5026,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5087,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5716,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5786,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5807,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5924,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6004,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6028,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6111,154 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6273,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6413,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6443,11 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" msgstr "" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6464,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6551,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6611,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +6993,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7078,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7091,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7157,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7207,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7270,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7310,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8011,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8281,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8338,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8417,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.mo b/InvenTree/locale/tr/LC_MESSAGES/django.mo index 2c90dd0c81aca562856271a6885816b565885734..3c37bd79893d69d53fce3cf4ce1889ef2d4848d4 100644 GIT binary patch literal 48473 zcmbuI37lM2mH$h2!oKhFSOOhLXJIE0AuEKeq&tBKh}GTI-9=YdHC5F~I)Eampd$_< zZn#8IL4i?FKoQ(XK*n9iaTG-nbVM1I8F9l=|KHy^_rCY4x)X8!^~vksyZgQ8o^$TG z=iaLPXz%UbR^W5}Hig2W;KlnE3d7qL3h(JqY@x8?ltN(_@O*H8@DgxGunFz}UJ33F zUJLF8-UO=XhrsFJ*TBQUzkn)t*r|oW0pMg%CC1|9*v13VUd0MxjC z0;>K!=(PHE5V$>fB&hy$fC+dasCK(UdIQ{z@EEB6UKjAK;C_TRf^)(9z}es*!2`fk z&ZG@+88`(T1a}2*0!5FFA^b5=^*;zM1^*S?8$5u@sH$)rcqrHp9t>U!!a{}jfg0Z@ zL5=qZ0sjK3|A)WK$Ne%;d{Y6{uUCPh@7uxS!8<_F<-4Hh_#}8Dxbs;~-`Sw@6+!j? zhJd#Oyd6~edqK7HIZ*X~6FeOJDR?Bf-Pzv%V?m8?E+~Fo1!^8H3E^H)bRG)04pjZu zg5rZ4K=tFjpxU_u)O>yp6kWdriay^3Rqk0(npKcEL?U4Q?DEdDW;{Q8@{|1V#J1y{f_6AkY!Jz0f zIp8S)&k1-Tcns-fP<(eIsPR7pYJ5Ke#b?ih>hBHT!47aasPgNT(^vUZ$$(n(f}alf1rSme9s?(Vdo1>P4+b^9PEh*dOz;@+Vh~kSxHiN;9PlY{ zD)HMaahwizC_gwEd>wcccxS+GfSRY@f*R*eOMM*sgWD1A0Cxd91D+1pe`;BP^d+h&F9iTyy;HyuP;@^E6dh-PqSqo&dg6kBRZ#g}2dbYpf$G=CLFNAncry5X(B!Dw z^BoMTo>M{9zYLTd41fvvPoVmB7q|y_52$(iBB=Jh7VvRUL{XMy6|g`o6wKdAiIhxB)XqSuGOeZYSKMW-)<;+r3UCx99PVmh4AaaGr`Y-2Y@et`+<93=;P`D6T)YJ>c_>P z#&r!SI^7IPPTvKpzaI?op9RHl4};?4$H3{}&%u|02dqJ6z}2AWvnF5(RQ;ES@U@`k z@1H@9_ZDzp@D6YW_<2y{d=8YJ*zM&m7c)Smp9ZRb<$w)P^K}&{`MnX89^DA4{zpO0 z^LIh@<7rUi{9QH>?M}ewm8mM`j4T}HH2UX9dU?*4s#V@yjlHWT)_3Ia) z=I^(l`mxW&PPbX0;?D*(f3E}&1+M``&y4{;7vi4)PbK~Za2j~RCBEJiLDhRDD1Grk zQ2n|S6x}}!N{%-N{0gXf`!=Zj-vc$SCqdEec~Iqce1(s5A5irj0cw2H0-gnG-d2F3 z>qVgQ4S}N9dQkj+9jN}@2x`7Q1xgP-15O3^ywvG18x*}R0hNCMRQ@-Es^|0I{@`Pv z`1i+P2lzYi5b&k1biSDd9!z*SsB)Kq>Q@8Qyj=~7es2aPZ=VGZ0-p;wsp$6B(V*zC z0#rR0gKEDN!dHT#-|Il>wHreCEuhN13sgTp466MH!Q;WlK+*AeP;}eA$8kSU`6h!Z zcR~oC3##2!0V|-&T?&_wAtQ^ifdr{3v)b_(Sjv zaPM-Va5}gQ)O=nKs@?a3>hHbabntti=3}SJ@EL$dgEPQ>Q0=}0RR2B zJAu!F%J)2|cD5Pv{u}^`&YhsfJtyD_a7V(If*QvFxC^)eRR3NNo(sMgRQ>-6s{Y>u z{0pdg*rnq0d?={?9RrF!CxY97mw~FM22KM%4XPhM2d@Ty51s_B8}@PE1xjvy4T_FO zR=wPX0j~o^xBI~ad>ot!{uvZKI%~czb%Tmu2O@ffkAjoHT}QmX2Y^aH0u&v(z&*i> z0#-oL|bz5{$I_(4!~c^I4w zehEy#UxDJ=-RoY@zM%Sbc)(*r{B&>)@w33Q!J9$#>)%1m(~rSj!Dqm|z~6!5;~g8` zZUU;E$)NgmJh%sVY6zbLs=h8z^<4r=zWPD+dl*!?I=Bz`Dp2&e2~;}|fdBRq)-zD! zzirgz<6cno{}!nBe;C3~fqN7F6(~9v*7~|S71TWUfy#e9co_I*aCh)7@Cfk15dQ?& zN%+rT0!~@y>(P1OiG&-V)}h-2J`76VJ^`xzKY%BIlh#99a5gCUT@OwN?*&f=e+r5o z2ah=&jsW)~+zD<2&I8rog`oPm1XTWuz{9~FQ0-g;s@?lQ(f=_}^YuMY^6*RWbnx&E zj%&c<2)`BV06zzw1^yh=d>?y-^UFz~+CLLiy>mg)WhHndcr~c}9|R8o?*`TX$3V6J zBT)M6Iq)KIw<~>rTm}_?H@H9eHBkNhDX8)XUFA3(+=uW2Q1!0?N5RX%gTbGJv%qa$ zuT`T(eY+zL(s9{>*op9VGG{|icfW?b$1 z<23M8!ULe_w-KBTJ_f4X4zKZk9}a3>P6Wlj3q!a&ga^PQh#v({1K$B^T;Bu_0-psn z-`ii~^RR2cy+PG?ASn7A14*tr+|{%vp~(qeDDzPVo>d_2gPUCh42?a@#i-~c-z-{{=Grbdm5

zpr71dk*<4?GL(2af=61CItD3+cZC zRnMNUcRUW9On5$c7IWL`usDX^x{`Q&C|bwqVH3n%0CN=zJCKHM+aQ*^-Td4e>T_wUI>a0UjvG- z9{>~ZXW)+D4sY=MyMvpy;~SKRF$a1(k0GD7trp zqT4!9d~rRfdA$$RcpeAEe=mTNi=E%(@_qogFX1Hti{K=}Yr$Q>*MOqu4WR1#FsS}~ z8MOHZHIIJ_@%!K4{Lul5Ugv-+e*u_)wGh4$6#YK}iofm##ZTV_r-1(rE&vaCv(u>v zs$T=3;_KjU;HN>+^HEUae;S+)J`YNt9sSSjVZb$@=HU)70Ura;0Dl2a1t;I=`?8gw z`m-V6`@s&vkAmX6-+&tbwr_E|?gws9_+)So@C;D>S`6+At^xM~`@x;T^`ORa4LA$D z0Tdk`3;4}|-vgEZNl^9v5>)#yfZKw*-{k3ggU1m*6g&ky2TZ_Mf$G=BfFA}m&v$~V z=L_Ic@H?Q!cjQ}rJd43;goi-Q+by8#{{$$0egZrO{1do4nB45;ri0?o<=_!u3EUIB z4%`QPCn$ct3zYtUG{pZn#QzqYLHurS^Lk$ficU*G@!f@>=IJU>_1yuA|33$6oKFRO z20V}OuR)bR{q0Vt`Jm{$3{1e);9lT5a0l=W0dE9F?{|P2_wAtM;M?H-;EzDb)9*m> z>3;9<`92HWoA6Rl<9j8j`5Ob(k84Bxn?cdxc2NEPA}Bh22~@k^3*l!#_3KZd_^I$t zUsrYqcOtkCsCo_s)xT3f^>;3)`56ZH1#bo?gC7Mof8PMbm(PMHfqw)wkDc%G`8yL- zzLg_xE{! zj|4UU$AjwcDWK%{B2e>tDX97C2i1=oz!l&pLGj0S8=Y>GK=H|;py=Ki;^&9>)u7rP z040A{fRf|)f`@}&1vP*F1&aRrzTd}rG${J60yPhpf}&dm)O@}goC>}f)cidd@N1y@ z^J7rscn(zie*iVFyL`awn+$6HPXI-?b3xT#1XW)X6d%4G)Vw|jE&{&^imwm8)%$%6 zID_yqQ2l*1cm((cQ1gB#I0gIxsBv!pL7$gSQ1rbBoCjV5o((<`^E*M+_dtmMKB)0L18Tf~0Y!&BKkV_xfYL{2 zgz!92`7Q+2-Vi9dUJ0uI*Mb`V9iZmp2jGd|PPcjg&ji)~K~VWF2hRp?1;u|)gQC~3 z!2`fOZ+H51fa0gs0f#~L`?cVX;JZN0>jyxM_dZbiU^6%q{0(>%c*I9seiwj~3HO0J zf^P)32X6w!7w-gj0zU!n06qwA3qA~r-j9N!=f8pK=TAV<<4>UGdD2InFJ^(_`RksQ%6YHUG=O#b6B-A3X?80lx-nJbwU1mp$(CaU1}uUq^wW?@6HgJul#D@Fc=z z@KEr5pyu&G@JR3pP~{8%;`Ys6;IRa!gU5jvfQ!IuK+)l=p!)wLxC{6ksCNGs+!@^E zW1hYrsCp)Y%C{6$|JQ&AgO`J%-SFL5=%Pa3}D0;2Q9+py+VneO~@X@Mgjr z!Lz`V?k5dwg0sM{foFp|eai1aEdu8geiN90-vUno{|6KurhMA@^W~tzuM6S(!Al7L z1XRDzdceoO44g;!Qc(T;AhQ31l))40`Mi^Ron1~k7)XNMeunkaTVS-@xE(Fw*>w?P5dz--xC3s z1^j35O!B`BEc0yOeIC!-VqtJ4@$cZ#rxxn|6YqL`Gx7br+zcMd^EI9Z@k@Dj2zgH= zE`HAD<$U7jhO`dw6+CYYd1mo`ChwQ=yggU$Un%#4Tv+v;8tS;3_t%rw8^XUO{1cvi z3C{)J!K2T$gx?Kb2ELs9Px0)-(;zH*-@^O(JSPzTsS5D<9N{5d{T!ZO^5|31 zL*5?|mcROOi*5b$deZ-$sN=xBc;3o8W{#~BCx@(GrtAZuPDQOJ-<9CUi2Hbm-v!)- z_y@sGP@gHFa z13${s$9wzd-$KMSV4ZRUJl`hofAi?GGx%PAHNBtR;N%+q^$5U=qNLvunegiHD^*uq_su2I(fXe=9-cj9! zspOl_`{6u)2a@LW&1O(CC>f5Q9Uc<$zT z1>t2p$A-GULR^XWNj$y0vo$oEa1r4tyz7&Myz@vuf^ePZ4ZQEmqt6N8q2w6|;r&B? zt-X8kTob|^?v0%XAfX{=NN`=YfJDcYq^4?E)R!ILbcplHeA^gAKQRLZ< zy!Z3$!Sh=l%m`brj|P{K{vP7K$a4kn`uvgidw90xy&U4IgfHe<%JX{S-w96VDe|1F zLVPYF@0Eo0c@6kBo)>t(5ZsNloxmF5Dd4s|eLNQuz7G5sa25=fTV^+(=lq(lj1@){t*k;+B9nfG_a0e}+i=58^+;b9_i&Os3EA zoJ^WNuMF7D`%@N!ek1Qoh`%p{zXu*c+!C-i#O(ksB+u)3t|sj;o~wvEfUrKVCEOL> z=Mnxo&qX{Z@aS_R&yzd{@@y0GJ;(b6Jo;>=eEfWf_w@u0;5m}_>%hw?b2!f|!e8h4 zD$fR9vxc$PrlJBM5&v~BZ z{V<;Q^UUVa=Wjfhlcvu(l(`%Hcfwx;uTW(892@eyf$+i@8SvcD)>jF?GsMjy?o8gV z1iux^t^hlUdxU2R@1vx>7yK{6$ANQrj^cfcN1s0t*5_po_V>dfPJw^o{gBXh%Q1%4a6ow&d7e2w>QKz-JMRevqK3j8bKF`hGcI(a_8qt8dcqp7FLb8Cou z6}X;fK5_b7!~103S9-AUaKOii|7Li9HR)qKj}WKNt~{R!?+PCf-n)3;k@wH?tl<4X z$}9|N%axH&M+kd}vrb-)CT~ zaH(0UC(RI@G;2w*Qb~HrGEl3ROH@cr6K8BtIH{D@md538){E6f(R!pVmXeOzh`Lv- zOi_LHQiFOcm71DKx=QtOv63ts9qwU>x%g(Scc?9>{>>dNR~TpQPYO~xNgBDehxwO8wRO(B-+L#zCYAG;03ZZ*S$w0lt z_#p0Jv6^fs)oYe}T{3@kq*At_FIurI#4YG6H_O$5B#T*Hge**PS4xI;Nr-bItxI~T zctE9^gC&(r))p(HrDWY;xl&3>p~j+S4-SA{>yp0Ox@x6X>`Q9>Nxd|zsVNT^2TF~k zSnW&tDc4B)>$PD>~*Z>~&R9vkf< zSo%d}Tq60>FxzWwG-|zNSd#&jn}be6)tdILuSSQ&^wzngD8?%HC2=Cse1pZtAo`+p zAQN=5QL^DtjyG}CTn*a)Ci9?Pcr`-y*CaB`zKLW~8*Pq^LK2iwKU~!4t(Q%gh=s-X zF1W4~>~Au^)MRR)v_v{t29wA4<@LT&J;d94va-})s+X$0^uTg^Y!G>5xVMJBgmL?l zVk0S6W3Z)f4T(~*TzxTBFq%daS(DWI$R;e!=wnkYwGy9oqCLf@0a+U^)`!&JSOrX) z4KC8+{Gi`LT355!9F1uyuUawb(8QElW2Dqu?jM68dMw39FjZ|07aP)b(hUi{R2Q6R ztOdP8E?ibdY!y2e+OBC@qMmIbdS`C96VuDfdPmZF67eyGpV#-T-o#!dQ!qGdJmp$vgSJGFQSFH4on(Z);^~@yH zW}6Aq$T38;aMX}VXM@IB6lu#iGFoTRYQPz-t4srBSt+ypPf(^&LyGBLFO;YaPn>5| zRg%Z1U|b&o+Plp#r~%V*L$t4@@wrADbRuTsdi8;~ zTa!F8t)f?&z!t{-$T7aigtmfKNb{TRvbFrCA!DwzShchceb{JVHHbXU0^=fNhOxYA zIV)F@W65POd?IPQB;1eHQS7@6IS6y#lHk&wr^qMRF>yWVZuCaE6o)`F*?$e5z^M1G&v}ys2aRp&7hAqllv?s@N-K~ ze9mbqB}bM&D!(LXoGhhLl;J%-+Gae?VC<@zi2BlP`!GZ$v^DGYaCrkPWz6JiH)mTb zc3P+zCbcf1c*guyJn!PD1cg>nqte)1Fp;Bm*-m5*FNxW5^Max#8eWseF3c}#m(f?4 zU+NhhNS11unqTTKvZF|1*)$?0b<814T8l%Pqc^r2bHs?m)`8T3>@_7gmX?c@WXl|u zC`8UzvdE5U-VyqnG@zViUNL_mMxN|>#u7T-ItM{5<@VemX0B;HQ{oiO^l7r(87IVT zjfF#&Ma)&KVoU5CvMO0UwdUG5IK)PIjJYClVt6E91@kD~lWLQgX+j#bM5-65&7ObH z`vl0sO6xj1_nxh``AAJ(j<3CI9c=OYd}5}utHFigHn}F)xucnGU#6%VvAs0b=6ST5 z>0sBs6K0hSn;C5REZ!RxwMOc-G2?pQkjyVPaK1?QRq)^x>&e=3XQsGL$8wS!*!-+Q$k@QP3*wGmHet_YLDA%+u+*!g{j31mu-lxgp5P@| zB&p4UX0vJg*5bjijiOj%owQ8Vw*ZZ3J7rmY&SoW73|y6~AdRgmR=YyELh`;V3!4;q z($*x!^7@X?UbiGBme?j27MDteg{1A0MO8SCjj&c$i%liPLgPfkV}s6e1+A!-RlTr4 z%dP)Sde|Vr4@SpcnF#~TMIVVHc%Pg;VF|`AsAG{97F4yNqM*AT8rV1N4s2DB%ONB) zi|F3L@`&uqX1#`u!TR0iRB_Lb^SYO#<>~;;$V^ntjf4LR7Y=5sEl@cvpp9N{jWq!K zp{E3u(3mtg5?xZ3e;U*NI|)b^*2_uGdFLV4;aK%O&8m&{xJXl$&@<8Qqb? zqFqyCThHZePoDK7Ww*6$5{=qzCWP|9d4WTqvqnK=a3U@#SBDg;N5=sQwA3gpR3`mN z7M4quK95KinzVU5ddo~*WzvQP3l8U9y{c4@5;8yr3+KdX4U4q&P@mZv!}85_oZG#0 zN$?*`Av5A!Eu2#?m4*uJmdxpTZmFk^GCsFd9vEyU7Yz?zQaBgeg$A($(w(4OoN~0T zEDe;_+nepr-Az_kBm!?eOs?SNs=^{UsU#-R+~vK`mgT;wk}3RQy|&j28Q8J;^2MyP zFFAsR_Ku2_H7l!B}3MOD(u`2QDGdn==iJoOmIh^V|8 zX%;E{%%C*Jqw11PDDC4CZON*QF4=ps4yVas@w4Rd?PN=%3v4h|ebLG480~2(+P3Ko z^2umof}2q`oOB1;BFxb{x5#%_biY}nxwzF*MYhwlB{P>``+2r+?r~mJbLJnXls-LPqD3XF?M@~cyp z+8DzdH=GQXiWMBZ=C6k6EIDef0YB@=McV>}(lw8FV^$khF*_7e_$=kjr^e}HUs*() zqt~ZBpRr>WiP$%pkjqEQEOFv(DSjn4M#XDm@vVn9{DkI`Asx6|aXU(;=QnXQT6c)3NQE*9-n*1*k zo0+f{4`rn%re;>4q+)nDrz<^0buqg@WtKea*p%YOM~8wkV<{ z=o2XE6B*9V3QN!sy&9j4b@RJwB`&e{kCDbXU87){Sbs$OmP4L#k=g+jmV`5e^d*sk z(LrNOkw&U&ZSYI9<#dT@QC0*oY-4vFVtCrR!niArm z36f%AWAlg%VKLM$Q5LWgQ||7qRYr%Q)Y4jy*0?z%BfJ{>_cAA~W&w>Ama<(IyT{{} z;C4x)t5RL8G3*<3&gc1q7KygtrKZ0T4EJ-i<}t=Fb0y2LjEse4cn;>~_NfZbgOJ7Q zn5D&yyanPsTOdC}7O|q$k)oQq%)7DN{C*aW`}usp=G|%tOBV0zn@KSq&5bA5*3z+R z>kJEjt)#etO`$V#!YhN0)w|CrFV51LEGsd;gtVrlOLux1D z@1Uq$Of?-HjVWsK#TKaqnT*BaF&}#_RpZTUf!AZY7&Qz#?XneAg0YBf>R`EE;doVA zyU9Ri{H8TPk*3!3;AD%sFGm))&)NwVP9E9_WK$3Z`Hz${UC>Zx|B+Ja`~RV_akCg` z7VaZt4B;8$+(BBKtY)!3P-?ne9iyb!Gt#BA!d3!3&ZyiF@k8B463qxR6vJZUx$OQx zM*FG+qQ0&)pkjmQu$Rmt)~BUtBO9l6dF*eFd}D2=Vz<+Ec4G41d@BhK%*} z(ASevjjcS?#x7ZlZ9ICz2x(Eg>~iFjF4d*RwMe!UpiS02yDKtt#*E2nqUmg}Q(4gS zRhDZr)>Xa_g}z)Hb}c(;hdRdZ;WL|IN@0bLR&@h}H*Hg}=y;3b*B!Ybi!#F`3q~&U zjYJ%8Fo?2jzT6PjvSsUpT2Y|Olz?n3#Wd|tbpGq`Ns$SEfag zwB-)#LdX%#5NjdWiP1y0#nVM^E6*oZ9Fn$KyGciCR))HVi|nS%0hSuUqCdlnG?iVu zwye#!7=$Uc*RY6N&LBmIkj}(qtG4-ftU@1PBkAxho9Wv8cFUW!6)uS*c6U(f0`+>d z1|}RWY&kK`zuk}u?$cb^^ypq49iP0mTyJs;Jw7pzEbN^aXYOP;-EK|LW+-P)d@MXR znVnn8?#?5OYWWRvN`v0}_FKzWaQ29TwzirLuIYlrINVHb@&{ZiD#hO5@CZdyy7}!_Sat!=jehKEmHqrnMAb?>(FPI44-vmRAv3_FCVlB^FxE zE7}O=mgcyyVyww<(#>Le!y~?M{R{Vkv`<`V?dDxrstRegs0e17b!*muT@)%tgCH>V z77F+ZXopV5@ms36J)dvDSC)E9crdtdGfKIL(DE)}vHJLy|){#)EH@)TV~fdQ^9 zXfraRi-(fW=%W#nr0c7Rs2n^iOS*)`j%KBfX6Z@Fgt3PnZCsr?2v*whP^JT%MoC9; zv{~ycS9>{+Kx1O*g^W@5S~i#MY5i;*#udm`0FrzsoxaF>mIXAVEaWEbN6B-aDQAq;K+q@0wGZFs7-HTZ?i*&}z2M&pAV~n@I`V==6xyO&M1|R|;4S{jyEG(kIQ9xm#&j$1b6} z!^QMitRCZngTO{Y=g=H6WkiA&O6pzxvtGx@RE$VS^&S`JIQE&y7;a391tZmC_zJCG zSJ_IYMpA0B_z+CRpvydb6fzCJ%nbR~ka#4g{#!%IIo%7|VwQ}Hf#ZWE%g!Y!_h+7y zmYdHr+bT+@Rpf6=YbnU|quwwu@YlBVmE)6!oRLV}7W1?X4|6G8Q#GGdYkh5r_+Q;| zbya(|xG)yY+2~hx%p)_dwbX*Q(Z(x~EnbCCxvm%((-Y=41b#hTi?P5G9BXp>SzrY# zjol@}TyMr9f$>qokQ2^HiQ}4Mnk)*V0$Zov8SZ$rCQ@Cv7m=$4XGyw6ZrI`kgM?$?5gE8LVS|n9T~v0TTFG@4osW}N$CoLA{7*9SLzSAG{+AQWi|6OZ=j8tGgvXSpFjj9t3w)0NOT zu;`e!uZ-9d6tl5JwpteXP&5WxvY7VKW~w#T2Gts;-uVTvB&2fD#FUF4a^+9Jy4{^N zAIcTNyNq|PLCNgLH=ai8-PEKT7g?@p!Gg6*M0jZ=6*y;-V!sYujmj!Jto$QcQM&KJ=84{xGGCGm2km9-P(oMsQ_o?@=@sej6zsON$Z$C%)QO5!7Q7bbOo)xM z2%(I_Eor)eg@x`;Cd0(2swvvShkM;}A8>yeS3orCRL8W0^KpG$$dAOGx=OIKaq`A9 zl~_+u7&bTb4Z$phvVF7YK4KQthIqDIrAuWy6dY5+1iB{_%FaHrJ+iqlIRSxG>Gx$A zRdC(Jc9=SAHdg~Jb9ci|^&w{G~;MK?K5~D8?NG_~8cVovkqfL^r zPR0@Kw;jC7t(Az(23hs0iIpOPIWZC-a4UHlwm6C!Nn9aEv`5FEV3z{p$un{prXg2? zsvE}j=Dgs`CrzuQIH8Sh#=9geT{JSP`I=wqLrc^+h~_Yj6VUEx24-)$1<=^dTMxIr z=!}_9`cg>uXnjaJZ&kd~jo{fDlZ&u{kRys(RPRJhcn`@`1)CUlsc{HXlou;h-Cf1) zFZ&9cq*hxxM3>xV9XF?uRH}DOxr%I2B%F|p%cJZ0y=Okjn($0CZiCX;tTc}|~ z@-iQmFRU6dt)6|IFGOIC^y2diU+h~bpGxlCs*Qd$U#kjs&Dn1Mg-aRoJ!I{>1k~(A z({imF#6t2r47Nh#Gpx45+TguTmiHG{yWg~ML9xzt(}BVTI`sD|M{Cf9(xAbN5O>A( z-%kR>@YX_{+-ZsFAE$kc%*(G`J)Blh&3!ei*f_0aX<#acb+oMmZHQUygTab3e{utW>5eCusYw)# zJ5#o{kJL8<(`+=|V#%$j*W?rIT-4XO+8z6|SY5cC)8ux}Bwxfkmo^5-_t*$6H90(=jxkZLo}mjGb#~~p zS9LG!JT1$oR{8Q{=Yntu$rEKY8)Tg0AU(c87Y}NUg0>>&46yPn%?4r0?4F zP<_)w!wj(XGzKk!11AKB>fq%>(K8G;S;y?Scm8`>&9Vcz0cl^!&3WpaJI zG*q6TTbXI8p88q`c{NOvAPuRvpgme05E)jw9_{s))!ywHF#<08T%y)8OZ` z#>pL8D`$;a<}5?#=Wv-xq3d2(3~3-mC_G%;fU)m&_R%62u`GW=5BfLXQ}08*dp12Z zw&|gvq*fU&LK`NvURZ-cN^bJcU$N}iu@a-+z<3ex0ujmlO%H7-Rq1xAC27-jCAw=z zpF=Q6u8^m2OqkWf>~6ZfI7UbNLT!94*4o2t-Mo>3H~C(m8Yru2lqDBZb-JW&*Rg$M zWd_T`B%r)uIiEmOPhS}(;vkD5WJTweS&^#ArrRMn+L4waQ8jUHvN4v4AFDvLVevS< zPn(@Pnljl~nJ>OjIlrEu8+B#+S(TTnG)xy+Clo4>-zOHXA0CCjCn%!M}>od*| ztQw=(zDcmkG0d#B7({FG} zvH=}u9*`jQ>5$Y+poNuZr(CKeE+U0FFr&U&(p_VjDRd#95HV$kyrS52`{sLwnl^Po zL(%w_a${g6L*y+cMJrc9TaZ0!9@BFz0XFMRi3q&W8o#X8oFI0=aJ}4`Pcb-ASXo(L zsid10AzhWf;=^RjHLU5pI25Z`IugCKc_XBB&703!Qnk%cm#VTE&=N9cBJVVzqW?oR zdFr;bqqT2bVri&R9%_k>-6A`(gao5GBwi&1uWvHd86HWuu6(}!B&QpKW{rpA>qEMn* zzI@A%VIaqWGTy^T12-7P5iKS&fud3;OEy$QJGIYStkvcrCaYtyhTNQt%Y$!+6$M&J zq2>FKuLwo0^WF z0pynX1m!S%;TL4k>`}|Ug$COCqiTJay!926A$ICoVe_Q}jZHkT`ZnKfWRl5QW?ZKK zCW;HxY!*UdpzGpbIVW?*iglZ1F6wK6NER2z`eb>^%v_u^GkdUTJjamd*z|V$N-xYK z^`wQ5Zt;0p)E5sr!1)ZnqgJpZu<9Mk2&atxizqRFD8`7Re8d0!a=5w%&5uY4t6CSWdz zP7c`;ezpO-OBPVN%t$?S$0f(uBHz8OBw5eX^sQHuY`QMhTjSbuz7Uzp&fcxvkt)^r zLM#)AX)k)rg>H{*EIGMh63vsCCrp$k0T~ISvD%GQvPldaQ%)wxnp1#g6X&%8+EvD( za{{({)f>kQei0R!HZ?;$@={9;UTI-X308yaS&?irP}{r_C9U_Wc7PK_FP0jQMs~*5 zm@{T3py1fbv~=A?plI?jVUla29KrI$lnu%*)%H-sdnb%e?iC_7zEPHWh?$6+1(&#Q zu@~cLVk0EF$A}VM)!#4q5J}(z3Lu;j79#+woPQ=RMMnBCI zx&dr4OPA~6IZT*IS=NH_g^|Tn)o3~z=a{@GTO80wf(fpy~37wTf16fy3^IWC7Q`i zdj|=bVJ#4We4K)$EwyD#1;Lgzb0U#LyJ5BnzSQMQ8~YXPXD*6-lXv1wwAD{%YGW*g zEuEZ*AK1T_6SR2L*ls3kc|;YCi;oM67)gnF`EQpirE4umLF*L~i~WI#GJ2{BzvXrv zWK7LkuJWnxz}j_oZ>05lNrkOssvqU=C}eY%$$?bNglSe&Or2xmES@Q3uM@cN&c*-N zkAcWv7!p;Q_pr5#OhW?eb314yY*uxZJ>?SL5>3UQ5_b2NMHU>4(OcBMy3W;tP4^FN zdPttMD23x{4SllWqdB`A6WDueouO9DtU?q)jdug5h8RPA#X{U^V+stdEe|IHo9@RM z%bI{$%HJ5qaf(OBJUuaL;w}IfMI;*g<)If7=zT5nB)k1XQnZItlztIJfeM+!sWl2Ye9Oh4Ok_^?AEPt8# z$n^6W-KF+O?l~`n)TJusKVQ5bO1+mY;)mo#ujW=IEX@?19$B$1OIupV1jQKx5sQw` zOwQ7bkuA{73D)0$xfZjg7P~B_6|@Op8owneOf$p=9RwBxiyx_RySqRhhG%qJ9xrad!+X@9KK^>K0_#8Y7UigBb%$&l}Hd8oVroGxuRFWH9#i!RZ0}{b+GGLpenJ#`1M!5#mz25YE{BP4Y-rd34A}h4_0*?8L7_V z28TW%4^wFyq(!#MS+xxDWPs&Q9^NIJ9%}YOF|#6=_F$x*qh#$s`Z<1s zTRnedGqcO{riv?$yvyF||2z3}WOfDYg;+>!Y;tfn@lXFf`zYJiZK1*(ONB!N-wSwi z&d6@Bq!qOEr&ML$_?4(UU*s~7(6P3}Nl}k@r$=r|%n#Op4g3a?9U)>j{!>stOed5e2f(Zf-RW{u&9f{(es8Uz;>ST{5WBA49n%H2&p!dywW@{~g z$;y5{;SMc~s&I-iS4UCY)4)>7?=_q$aDj1kKqpv`%)1^2Fo!Zm#t@!s9WRFv%2v)m zAL|^9MqRLi7wtzuxT%VLw$Pog8+wa{mBF4Nn-N(O>c$#B4I&Y6O&)$DB*(g(pJ7l| zsbUT1JVKocVca2jJ=Cvn1nIb;p@WGbKfjkFvdgTbIZ>&rl$FeWGsJ%=gtc+=J@5p( z+UOP!p2hInAxuDO#bHq(lpN!7XB?M9jAyKf_anHB`QZ;=y$kkxAneD8V{qB*F7I1FEN@GeJ|l&c=NfhkIqdjB>Vleh|m}a8~bUFuI^XjqK>c zdX`y(xJ<>;svSib>f*fE+$Om(w3??^foxUO#rSvz8N=%QZao)7`Ij`ee zTh^~&XVvAKNnI4dNk8G<&^fX_YqVTRW!;ricOtE1Wy97TbI3fjXy9aw`G}4WTMZy2 ztAL9bTL@+`9Gb~Si(WRxhJ|=5^L&okc&?o!_=PNDfS(icpC!rSO!+iiVAVjDGA7ra zF8;LtEJHt)Axq)JS=X|x31l!^;aX1PTF$HKMljElr5w?v{!#ho!@fSV zyc2xKd9P^hfX&&1QRqN0Y?E7Es4zC)U{IV6^jXy)p4>XYp6(fqN063hHOGkikrtc%f=PG`JRyi_U0oSb=yD&1T)D3z;v=(=q;x&+OKNcnvE)EQTKC;C5p2d z{JBVFoE?Vi=WB(`o4(a->5`f(@Z)GM9z?rUlAm%q(&4Aoegj56kRobLKadg^$JA76 z`F#|Q@>5A*e!_`;(!h)y)oLCj$q&97h*#Mz)Yz}1B&){sB~5n23sB$8cxrC>bpY2z z;V{}AicrE1bWopK1Ep6WeirM$@Y3>oC~~AjPSxmZlVtnzG^<2kZ$U?p59o)XqXzLrx(kP)*@ z4>gM1SZSkaOiou7H#YOxY}JaA>n<}t-<(%kTO3K&z};pe>m|7Ab9!UTXN;|xQeRI> z{HWV;EaYxsb%|%-0hs_=O6@{cRM1G5{9+U3kM=`mXQ7BE$Zt~=cHD%H$AhvAlvq}K{tXCMlM3mhf28*C|`^jT=XE(3Y% z6xTMA5-+|0{b_MEzKAxm5x&^IF#=ZwavJ7|VmxWH&TU$=!^3pCXUbf}tqEPV`T!?; z*##A51EaP%F_VGv*2(xxGcG5M`Pv3r3So(c|q$BKE}viwlAgjiSI|m zYFc@5Yx@pSE$K*eQ8-E0BzzkY#sH^FqFrSddtnJzR(N9V3K#A*UtUlfY&GY~$%NyJ-RZbf z^{C$9olGanWYM;ZAF!!a$8Zke9UJ2&iv6WWA`|Ae1=GEHUd%B){eB)6^P1uYBWu{h z#b7{nH4{6}6L{Z?W%+`Us8rT3OKmOfwlSw%El1|zqF@>+cb9FM<4@jXjtIX$$S*a@ zQI&~{6F0ZO`{_zot2i-TZiQ)Wj6Q2yC*o!!S3tg3TTy+UJp13x>?dMjZYL@eWe&QO zp55nSK5*puEz|VH9EZ60s#oa%f}OUm+zyYj^m4EPuZmx_a0Q`D z1cnn69cA^ia3v^u^HnAt=Ec;H*!1z!wSMC*ih;~mb6?5H!UC&1v@H&- z_IQ0e##CQs#+jjr&~()JpCkBnH2%{8ZLc5MNRxRxHS=P$Mw>9n>}iSS8xnS6608IE zD(obxNi-IgGwqmPcEdbzjhF^AlbMZF{2D^sX}jqkOHP=T|H%ZSBHhA!i3#N_@I>sR zF}v*mo%`F8W244_)*qRyxo<&m41_~OuJXz#17;SpD-2rv2E_XELvc*Tboxx_S97$K z`;X>8_^8cObIdlRS>LE5av?;|;)BGpF6O8rsmgWHZ$mc3@G{P{jkYaVG2tKze-~Da z?pCDN{le;nH%PM=)u%%7Jv+)*WV*H?sG&^Yig<~~%E|&stYPj0s9a`+j0<~}+HZsk z%{H-Gxtq~aEkn1tX%YC$1j)HA8(}=$<*wqc8}g$RIWv@EXABdkv{E-Ph&5^|LMH<5 zJeS>I9N(dzX}140(iD|<&@V&iEYOPC)v-`n>$w$HJyT+r+4EO)Y`4LYijE-c_IlWQ zd7GRhMu$h}1&0o32WH&|YP&b-P_{aO6i((C3ev(F6Su4*?mG*)^Ex@bL}Y_c1y(<{ zzqK7sXo@4y^cGHRJ^bKKR4f>Hi9Dt{Y>$^MLO)WE4{pYA7HbO9`nRlBa5UR3|87f@ zN2GeNEtt$*yP!R4F;Po>m184gzUA;8r!rsEY_u+HMc)N8d-ly8b2Rv})ta%rk@&SK zvrSnk%G|SUt(kiwI(-~+^L1R7af9=P*zbG~`TcLMV7JrhQ$+2{#`@K786k@p8Golu0IR0Jq!D*>pcgDjavF@y-$OXiVZl zrY;GzY=~h_D~7weii$AZNB=C4(^;$<4gCakt%CK~;+-%7k4`+@70~WNOvRNfd11NF zsa>OD#F!ps-{C0C!EhN)W=_}d_yjS}WX`NcQ494h!n=1d>@pSMZohK)j!{pz;mutl zOSFt;TYAtGTS)S|B>aevUF*xzZO&tHC?Eyq!JJKN*?m4*%~eZ4r)DbENR#SPw^FBh zh3055gGj|D`ksa9=q)eiIReCOf_>A&dJ)!{ez`Z)er};1W+;B>Xj-w6)e{%aF}KB8 z?=eu!2G;G7ETc_~sX71ZMf7QVN0>K4ruCJG;=+$G3)E% ze1$CRzw~7&eX(VNq*i-${DP7r7W`@hiED>f7pSWgE^0{4z{j@Oxw?pl@KUhW{@>!Ve# zb1lI=Og6O8H&?>!&D)RTTaL;7ifb@&&?>rOgrR5mI^Y!jJWz`VREI3X*~)IGW%-+u z`6bpBfO#pibvKPncc2p%aTS>EWGAd75tT>B7k8o0^iIf!zKhP-EtdW!zX(U&tHc7*;?d6( zP!Qy9z9Ykikgw>reK$8+PN}m~CxV=9N0)~zDnDwIQ^I5lw+vrJMO#2JU1&2`Ya+I8 zuY7`TMu(P_4L*~WjRe)W-pVG$&%|LS7o+UwYH|j<`R}<=)|BYiZSK4pv((uHb32E% zkPABbW6)d$p4&AUOSoO>k-g8>dzQx5rY)z2s|xmu`hoWGu8rIR?8uu9{Z)5VKDX1d z-PBb6my+Ddl#xnb$sBioht(SYwcX=!RS_h2!iwW>?&R9ECdKr)#em(m>UQXxz<5g&aL|nH9*iP}SonBq5 zV(06-tYA~;sIOKgcOc^YwEq--M@1ULyA^uhhxEvqN4=@Jm+_o@i)nO_fcVw%2@5!5 zMPbRZhWM1?9)|19OReJ%zn;=(CmHz_$$qRNn80=rX3LVFe2gP%w$?arcVhjwy9qPy+x3>4hp8*BWsairtg?eNj%PZg!fSe-dN zONYm$M)b9rE-set4))(#+I&y@uPtR`_uR(YIo5NZp|3O(7?RB0|7Q(sd#U6c^f&*J zc0_H4lkn3F!NIIA;9{UC7u%rucG*?8B?+|nlESLkl3{V~8#@!IA1n~2**#mS(_P>0 znJBN_KqP;3&MV)1JE@D`Im2Moxj|tSdt?&%ujC}_@kXaa)Ey*lL75;#HOva-T2l8) zHrSG26XGS(tM66F17A}W--qKa4d*-3PBfGG5TdZ@{y%Mmi{Sa{3tXPV*oA*hETV=e z1S5oNV+D3=HEuEug>T47S?X73aFvI<^)W>=Ln{ReAr0&fxFh1<1V$zc(o(vtr1#wV zMaTw*SQYdeBls1$S<)={rSd}biUfUEX!{)|o8jyimfZN1deG$p2-&9ovz($RHn;9q F{XdXZc>e$Z delta 226 zcmccli|IF$#XTXGsSH5C2*ff#tOCT$K&%7AAYcK+jzCFEAPrIj1CuWni}D9JI(s|1 zyDEga1_gWi`%QjdtW_WB>KLT!>#ytLsNmsm(Eqz&;u7Q<9Bc%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" -msgstr "" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +#, fuzzy +#| msgid "Build actions" +msgid "BOM actions" +msgstr "Yapım İşi işlemleri" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "Ögeyi Sil" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4234,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "Malzeme Listesi dosyası gerekli sütün adlarını sağlandığı şekilde içermelidir " -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "Malzeme Listesi Şablonu Yükle" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4263,121 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" -msgstr "" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "You are subscribed to notifications for this category" +msgstr "Bu kategori içindeki parçalar için varsayılan konum" + +#: part/templates/part/category.html:32 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "Subscribe to notifications for this category" +msgstr "Bu kategori içindeki parçalar için varsayılan konum" #: part/templates/part/category.html:38 +#, fuzzy +#| msgid "Category Settings" +msgid "Category Actions" +msgstr "Kategori Ayarları" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Set category" +msgid "Edit category" +msgstr "Kategori ayarla" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Set Category" +msgid "Edit Category" +msgstr "Kategori Ayarla" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Set category" +msgid "Delete category" +msgstr "Kategori ayarla" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "Kategori Seçin" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:44 -msgid "Edit part category" -msgstr "" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Set Category" +msgid "New Category" +msgstr "Kategori Ayarla" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "" +#: part/templates/part/category.html:67 +#, fuzzy +#| msgid "Set category" +msgid "Top level part category" +msgstr "Kategori ayarla" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "Kategori Detayları" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "Parçalar (Alt kategoriler dahil)" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "Kategori ayarla" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "Kategori Ayarla" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4416,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4441,323 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Details" +msgid "Part Details" +msgstr "Detaylar" + +#: part/templates/part/detail.html:66 +#, fuzzy +#| msgid "Minimum Stock" +msgid "Minimum stock level" +msgstr "Minimum Stok" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "Son Seri Numarası" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "Parça Stoku" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "Parça Test Şablonları" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "Test Şablonu Ekle" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "Yeni Sipariş" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "Parça Çeşitleri" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "Yeni çeşit oluştur" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "Yeni Çeşit" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +#, fuzzy +#| msgid "Part actions" +msgid "Export actions" +msgstr "Parça işlemleri" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +#, fuzzy +#| msgid "Upload File" +msgid "Upload BOM" +msgstr "Dosya Yükle" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "Parça Tedarikçileri" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "Çeşitler" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "Fiyatlar" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" -msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)" - -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "Parça stoku seri numarası ile takip edilebilir" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "Bu parça harici tedarikçilerden satın alınabilir" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "Pasif" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "Barkod işlemleri" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "Etiket Yazdır" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "Stok işlemleri" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "Parça işlemleri" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "Parça stoku seri numarası ile takip edilebilir" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "Bu parça harici tedarikçilerden satın alınabilir" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "Pasif" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "Satış Emirleri için Gerekli" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "Son Seri Numarası" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4781,7 @@ msgid "Total Cost" msgstr "Toplam Maliyet" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4815,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4885,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4907,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4927,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "Aşağıdaki parçalara kategori ayarla" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "Stok Yok" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "Düşük Stok" @@ -5041,135 +4946,140 @@ msgstr "Yeni parça çeşidi oluştur" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "Hiçbiri" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "Kategori Parametre Şablonu Oluştur" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "Kategori Parametre Şablonu Düzenle" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "Kategori Parametre Şablonu Sil" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "Şablon adı" @@ -5206,51 +5116,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5177,593 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" +msgstr "Seri Numara" + +#: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "Seri No" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "Bu stok kalemi için son kullanma tarihi" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "Seri numaralandırılmış stok için hedef konum(varsayılan olarak, geçerli konumda kalacaktır)" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "Seri numaraları" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "Benzersiz seri numaraları (miktar ile eşleşmeli)" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "Test raporu şablonu seç" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "Kurulacak stok kalemi" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "Sökülen ögeler için hedef konum" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" -msgstr "" +#: stock/serializers.py:166 +#, fuzzy +#| msgid "Expiration date for this stock item" +msgid "Purchase price of this stock item" +msgstr "Bu stok kalemi için son kullanma tarihi" -#: stock/serializers.py:452 -msgid "Stock transaction notes" -msgstr "" +#: stock/serializers.py:173 +#, fuzzy +#| msgid "Expiration date for this stock item" +msgid "Purchase currency of this stock item" +msgstr "Bu stok kalemi için son kullanma tarihi" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" -msgstr "" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of stock items to build" +msgid "Enter number of stock items to serialize" +msgstr "Yapım işi stok kalemlerinin sayısı" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, fuzzy, python-brace-format +#| msgid "Quantity to complete cannot exceed build output quantity" +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "Tamamlanacak miktar yapım işi çıktı miktarını aşamaz" + +#: stock/serializers.py:308 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new items" +msgstr "Yapım işi çıktısı için seri numaraları girin" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +#, fuzzy +#| msgid "Serial number cannot be set if quantity greater than 1" +msgid "Serial numbers cannot be assigned to this part" +msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "Konuma Tara" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "Yazdırma işlemleri" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "Stoku seri numarala" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "Çeşide çevir" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "Stok kalemi tüm gerekli testleri geçmedi" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz." -#: stock/templates/stock/item_base.html:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "Konum ayarlanmadı" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "Kaydet" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5817,70 @@ msgstr "Bu stok kalemi için seri numaralandırılmış ögeler oluştur." msgid "Select quantity to serialize, and unique serial numbers." msgstr "Seri numaralandırılacak miktarı ve benzersiz seri numaralarını seçin." -#: 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 "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." - -#: stock/templates/stock/location.html:37 -msgid "All stock items" -msgstr "" - -#: stock/templates/stock/location.html:42 -msgid "Create new stock location" -msgstr "Yeni stok konumu oluştur" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "Konum işlemleri" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "Konumu düzenle" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "Konumu sil" -#: stock/templates/stock/location.html:99 -msgid "Location Details" -msgstr "Konum Detayları" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" +msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:104 -msgid "Location Path" -msgstr "Konum Yolu" +#: stock/templates/stock/location.html:76 +msgid "New Location" +msgstr "Yeni Konum" -#: stock/templates/stock/location.html:109 -msgid "Location Description" -msgstr "Konum Tanımı" +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "Delete stock allocation" +msgid "Top level stock location" +msgstr "Stok tahsisini sil" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" -msgstr "" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" +msgstr "Stok Kalemleri" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Yazdırma İşlemleri" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "Etiketleri yazdır" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "Yeni Konum" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "Yeni konum oluştur" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" -#: 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 "" @@ -5965,7 +5889,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" @@ -5986,104 +5910,100 @@ msgstr "Bu işlem kolayca geri alınamaz" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "Geçerli bir konum belirtiniz" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "Yeni Stok konumu oluştur" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "Stoku Seri Numarala" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +6027,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" -msgstr "" +#: templates/InvenTree/index.html:88 +#, fuzzy +#| msgid "Supplier Parts" +msgid "Subscribed Parts" +msgstr "Tedarikçi Parçaları" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +#, fuzzy +#| msgid "Subcategories" +msgid "Subscribed Categories" +msgstr "Alt kategoriler" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6111,23 @@ msgstr "Kategori Ayarları" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6135,78 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "Parça Parametre Şablonu" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit location" +msgid "Edit Global Setting" +msgstr "Konumu düzenle" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Change User Setting" +msgid "Edit User Setting" +msgstr "Kullanıcı Ayarlarını Değiştir" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "Kategori parametre şablonu bulunamadı" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "Şablonu Düzenle" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "Şablonu Sil" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "Parça parametre şablonu bulunamadı" @@ -6363,135 +6222,167 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" -msgstr "" +#: templates/InvenTree/settings/user.html:101 +#, fuzzy +#| msgid "Contact email address" +msgid "Add Email Address" +msgstr "İletişim e-posta adresi" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" -msgstr "" +#: templates/InvenTree/settings/user.html:111 +#, fuzzy +#| msgid "Contact email address" +msgid "Enter e-mail address" +msgstr "İletişim e-posta adresi" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +#, fuzzy +#| msgid "Email" +msgid "Add Email" +msgstr "E-posta" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "Tema Ayarları" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "Tema Seç" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "Dil Ayarları" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Set Language" +msgid "Select language" +msgstr "Dili Ayarla" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "Dili Ayarla" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" -msgstr "" +#: templates/InvenTree/settings/user_display.html:9 +#, fuzzy +#| msgid "Category Settings" +msgid "Display Settings" +msgstr "Kategori Ayarları" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "Tema Ayarları" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Set Theme" +msgid "Select theme" +msgstr "Tema Seç" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" +msgstr "Tema Seç" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" @@ -6505,124 +6396,143 @@ msgstr "" msgid "Search Settings" msgstr "Arama Ayarları" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "InvenTree Sürüm Bilgisi" -#: templates/about.html:22 -msgid "InvenTree Version" -msgstr "InvenTree Sürümü" - -#: templates/about.html:27 -msgid "Development Version" -msgstr "" - -#: templates/about.html:30 -msgid "Up to Date" -msgstr "Güncel" - -#: templates/about.html:32 -msgid "Update Available" -msgstr "Güncelleme Mevcut" - -#: templates/about.html:42 -msgid "Commit Hash" -msgstr "Commit Hash Değeri" - -#: templates/about.html:49 -msgid "Commit Date" -msgstr "Commit Tarihi" - -#: templates/about.html:55 -msgid "InvenTree Documentation" -msgstr "" - -#: templates/about.html:60 -msgid "API Version" -msgstr "API Sürümü" - -#: templates/about.html:65 -msgid "Python Version" -msgstr "Python Sürümü" - -#: templates/about.html:70 -msgid "Django Version" -msgstr "Django Sürümü" - -#: templates/about.html:75 -msgid "View Code on GitHub" -msgstr "" - -#: templates/about.html:80 -msgid "Credits" -msgstr "Katkıda Bulunanlar" - -#: templates/about.html:85 -msgid "Mobile App" -msgstr "Mobil Uygulama" - -#: templates/about.html:90 -msgid "Submit Bug Report" -msgstr "Hata Raporu Gönder" - -#: templates/about.html:97 templates/clip.html:4 -msgid "copy to clipboard" -msgstr "panoya kopyala" - -#: templates/about.html:97 -msgid "copy version information" -msgstr "sürüm bilgisini kopyala" - -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Kapat" +#: templates/about.html:20 +msgid "InvenTree Version" +msgstr "InvenTree Sürümü" + +#: templates/about.html:25 +msgid "Development Version" +msgstr "" + +#: templates/about.html:28 +msgid "Up to Date" +msgstr "Güncel" + +#: templates/about.html:30 +msgid "Update Available" +msgstr "Güncelleme Mevcut" + +#: templates/about.html:40 +msgid "Commit Hash" +msgstr "Commit Hash Değeri" + +#: templates/about.html:47 +msgid "Commit Date" +msgstr "Commit Tarihi" + +#: templates/about.html:53 +msgid "InvenTree Documentation" +msgstr "" + +#: templates/about.html:58 +msgid "API Version" +msgstr "API Sürümü" + +#: templates/about.html:63 +msgid "Python Version" +msgstr "Python Sürümü" + +#: templates/about.html:68 +msgid "Django Version" +msgstr "Django Sürümü" + +#: templates/about.html:73 +msgid "View Code on GitHub" +msgstr "" + +#: templates/about.html:78 +msgid "Credits" +msgstr "Katkıda Bulunanlar" + +#: templates/about.html:83 +msgid "Mobile App" +msgstr "Mobil Uygulama" + +#: templates/about.html:88 +msgid "Submit Bug Report" +msgstr "Hata Raporu Gönder" + +#: templates/about.html:95 templates/clip.html:4 +msgid "copy to clipboard" +msgstr "panoya kopyala" + +#: templates/about.html:95 +msgid "copy version information" +msgstr "sürüm bilgisini kopyala" + #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" -msgstr "" +#, fuzzy +#| msgid "Contact email address" +msgid "Confirm Email Address" +msgstr "İletişim e-posta adresi" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +#, fuzzy +#| msgid "InvenTree Version" +msgid "InvenTree demo instance" +msgstr "InvenTree Sürümü" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6540,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6570,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Enter password" +msgid "Change password" +msgstr "Şifrenizi girin" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6593,89 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock is required for the following build order" +msgstr "Bu yapım işi emrinden sorumlu kullanıcı" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +#, fuzzy +#| msgid "The following items will be created" +msgid "The following parts are low on required stock" +msgstr "Aşağıdaki ögeler oluşturulacak" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Build Quantity" +msgid "Required Quantity" +msgstr "Yapım İşi Miktarı" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "Mevcut" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +#, fuzzy +#| msgid "InvenTree Version" +msgid "InvenTree version" +msgstr "InvenTree Sürümü" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +#, fuzzy +#| msgid "No Stock" +msgid "Total Stock" +msgstr "Stok Yok" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Build Quantity" +msgid "Minimum Quantity" +msgstr "Yapım İşi Miktarı" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6692,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "Rapor Şablonu Seç" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "Test Raporu Şablonu Seç" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "Seçili yapım işleri için rapor şablonu bulunamadı" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "Parçaları Seçin" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "Seçili parçalar için rapor şablonu bulunamadı" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Seçili emirler için rapor şablonu bulunamadı" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6752,395 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "Stok Kalemlerini bu konuma kaydet" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "Stok kalemi zaten bu konumda" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "Konuma Kaydet" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "Barkod geçerli bir konumla eşleşmiyor" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +#, fuzzy +#| msgid "Are you sure you want to delete this stock location?" +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +#, fuzzy +#| msgid "Update Available" +msgid "Substitutes Available" +msgstr "Güncelleme Mevcut" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +#, fuzzy +#| msgid "Edit stock allocation" +msgid "Variant stock allowed" +msgstr "Stok tahsisini düzenle" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" -msgstr "Mevcut" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" +msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "İşlemler" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +#, fuzzy +#| msgid "Edit supplier part" +msgid "Edit substitute parts" +msgstr "Tedarikçi parçasını düzenle" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" -msgstr "" +#: templates/js/translated/bom.js:772 +#, fuzzy +#| msgid "Are you sure you want to delete this stock location?" +msgid "Are you sure you want to delete this BOM item?" +msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "Stok tahsisini düzenle" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "Stok tahsisini sil" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "Üst ögeden ayır" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +#, fuzzy +#| msgid "Are you sure you wish to unallocate all stock for this build?" +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "Bu yapım işi için tahsis edilen tüm stokları kaldırmak istediğinizden emin misiniz?" + +#: templates/js/translated/build.js:202 +#, fuzzy +#| msgid "Unallocate Stock" +msgid "Unallocate Stock Items" +msgstr "Stok Tahsisini Kaldır" + +#: templates/js/translated/build.js:220 +#, fuzzy +#| msgid "Delete Build Output" +msgid "Select Build Outputs" +msgstr "Yapım İşi Çıktısı Sil" + +#: templates/js/translated/build.js:221 +#, fuzzy +#| msgid "Build output must be specified" +msgid "At least one build output must be selected" +msgstr "Yapım işi çıktısı belirtilmeli" + +#: templates/js/translated/build.js:275 +#, fuzzy +#| msgid "Build Outputs" +msgid "Output" +msgstr "Yapım İşi Çıktıları" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Completed Build Outputs" +msgid "Complete Build Outputs" +msgstr "Tamamlanmış Yapım İşi Çıktıları" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +#, fuzzy +#| msgid "No incomplete build outputs remain." +msgid "No active build outputs found" +msgstr "Tamamlanmamış yapım işi çıktısı kalmadı." + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "Stok tahsisini düzenle" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "Stok tahsisini sil" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "Parçaları Seçin" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7160,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7209,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "Şablon Parça" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7245,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "doğru" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "yanlış" @@ -7235,57 +7258,63 @@ msgstr "yanlış" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "Geçerli bir numara olmalı" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7326,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "Etiket yazdırılmadan önce stok kalemleri seçilmeli" @@ -7342,62 +7376,62 @@ msgstr "Etiket Seç" msgid "Select Label Template" msgstr "Etiket Şablonu Seç" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7439,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7479,712 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +#, fuzzy +#| msgid "Total price" +msgid "Total Price" msgstr "Toplam fiyat" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +#, fuzzy +#| msgid "Part Categories" +msgid "Part edited" +msgstr "Parça Kategorileri" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +#, fuzzy +#| msgid "Display list view" +msgid "Display as list" +msgstr "Liste görünümünü görüntüle" + +#: templates/js/translated/part.js:1044 +#, fuzzy +#| msgid "Display list view" +msgid "Display as grid" +msgstr "Liste görünümünü görüntüle" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +#, fuzzy +#| msgid "Display list view" +msgid "Display as tree" +msgstr "Liste görünümünü görüntüle" + +#: templates/js/translated/part.js:1283 +#, fuzzy +#| msgid "Set category" +msgid "Subscribed category" +msgstr "Kategori ayarla" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "Rapor Şablonu Seç" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "Test Raporu Şablonu Seç" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "Seçili yapım işleri için rapor şablonu bulunamadı" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "Seçili parçalar için rapor şablonu bulunamadı" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "Seçili emirler için rapor şablonu bulunamadı" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +#, fuzzy +#| msgid "Serialize Stock" +msgid "Serialize Stock Item" +msgstr "Stoku Seri Numarala" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "Stock Location" +msgid "New Stock Location" +msgstr "Stok Konumu" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Expiration date for this stock item" +msgid "Enter initial quantity for this stock item" +msgstr "Bu stok kalemi için son kullanma tarihi" + +#: templates/js/translated/stock.js:195 +#, fuzzy +#| msgid "Enter unique serial numbers (or leave blank)" +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Create new stock location" +msgid "Created new stock item" +msgstr "Yeni stok konumu oluştur" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Edited stock item" +msgid "Created multiple stock items" +msgstr "Düzenlenen stok kalemi" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "konumlar" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "Tanımsız konum" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "Detaylar" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "Seri No" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8204,266 @@ msgstr "" msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "Alt konumları dahil et" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "Konumları dahil et" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:207 msgid "Is Serialized" msgstr "Seri Numaralı" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 msgid "Serial number GTE" msgstr "Seri numarası BvE" -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 msgid "Serial number greater than or equal to" msgstr "Seri numarası büyük veya eşit" -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 msgid "Serial number LTE" msgstr "Seri numarası KvE" -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 msgid "Serial number less than or equal to" msgstr "Seri numarası küçük veya eşit" -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 msgid "Serial number" msgstr "Seri numarası" -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:157 +#: templates/js/translated/table_filters.js:342 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:158 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:163 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:151 +#: templates/js/translated/table_filters.js:167 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:168 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:157 +#: templates/js/translated/table_filters.js:173 msgid "Include stock in sublocations" msgstr "Alt konumlardaki stoku dahil et" -#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:178 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "Çeşitleri Dahil Et" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "Çeşit parçaların stok kalemlerini dahil et" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +#, fuzzy +#| msgid "InvenTree Version" +msgid "InvenTree demo mode" +msgstr "InvenTree Sürümü" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8476,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8533,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "Barkod İşlemleri" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8612,154 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" +#~ msgid "Build Order reference" +#~ msgstr "Yapım İşi Emri referansı" + +#~ msgid "Order target date" +#~ msgstr "Emir hedef tarihi" + +#~ msgid "Number of items to build" +#~ msgstr "Yapılacak öge sayısı" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "Stok tahsisinin iptalini onayla" + +#~ msgid "Build output stock status" +#~ msgstr "Yapım işi çıktısı stok durumu" + +#~ msgid "Confirm incomplete" +#~ msgstr "Eksik olarak onayla" + +#~ msgid "Confirm completion with incomplete stock allocation" +#~ msgstr "Eksik parça tahsisi ile tamamlamayı onayla" + +#~ msgid "Confirm build completion" +#~ msgstr "Yapım işinin tamamlandığını onaylayın" + +#~ msgid "Admin view" +#~ msgstr "Yönetici görünümü" + +#~ msgid "Progress" +#~ msgstr "İlerleme" + +#~ msgid "Stock allocation is complete for this output" +#~ msgstr "Bu çıktı için stok tahsisi tamamlandı" + +#~ msgid "Stock allocation is incomplete" +#~ msgstr "Stok tahsisi tamamlanmamış" + +#~ msgid "tracked parts have not been fully allocated" +#~ msgstr "takip edilebilir parçalar tamamen tahsis edilemedi" + +#~ msgid "Create New Output" +#~ msgstr "Yeni Çıktı Oluştur" + +#~ msgid "Create a new build output" +#~ msgstr "Yeni bir yapım işi çıktısı oluştur" + +#~ msgid "Create a new build output using the button above" +#~ msgstr "Yukarıdaki düğmeyi kullanarak yeni bir yapım işi çıktısı oluştur" + +#~ msgid "Alter the quantity of stock allocated to the build output" +#~ msgstr "Yapım işi çıktısına tahsis edilen stok miktarını değiştir" + +#~ msgid "Build Order Details" +#~ msgstr "Yapım İşi Emri Detayları" + +#~ msgid "Child Builds" +#~ msgstr "Alt Yapım İşleri" + +#~ msgid "Build Order Notes" +#~ msgstr "Yapım İşi Emri Notları" + +#~ msgid "All incomplete stock allocations will be removed from the build" +#~ msgstr "Tüm eksik stok tahsisleri yapım işinden kaldırılacak" + +#~ msgid "Complete Build Output" +#~ msgstr "Tamamlanmış Yapım İşi Çıktısı" + +#~ msgid "Invalid stock status value selected" +#~ msgstr "Geçersiz stok durum değeri seçildi" + +#~ msgid "Confirm completion of incomplete build" +#~ msgstr "Eksik yapım işinin tamamlandığını onaylayın" + +#~ msgid "Build output completed" +#~ msgstr "Yapım işi çıktısı tamamlandı" + +#~ msgid "Default" +#~ msgstr "Varsayılan" + +#~ msgid "Current value" +#~ msgstr "Mevcut değer" + +#~ msgid "Change Setting" +#~ msgstr "Ayarları Değiştir" + +#~ msgid "Supplier Part Details" +#~ msgstr "Tedarikçi Parçası Detayları" + +#~ msgid "Print" +#~ msgstr "Yazdır" + +#~ msgid "Category Details" +#~ msgstr "Kategori Detayları" + +#~ msgid "New Order" +#~ msgstr "Yeni Sipariş" + +#~ msgid "Variants" +#~ msgstr "Çeşitler" + +#~ msgid "Prices" +#~ msgstr "Fiyatlar" + +#~ msgid "Select test report template" +#~ msgstr "Test raporu şablonu seç" + +#~ msgid "Save" +#~ msgstr "Kaydet" + +#~ msgid "Location Details" +#~ msgstr "Konum Detayları" + +#~ msgid "Location Path" +#~ msgstr "Konum Yolu" + +#~ msgid "Location Description" +#~ msgstr "Konum Tanımı" + +#~ msgid "Create new location" +#~ msgstr "Yeni konum oluştur" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.mo b/InvenTree/locale/vi/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..5123025e2ef26d0b13f327d7dea72c41d2cf24e8 GIT binary patch literal 521 zcmZWl%TB{E5Cp*~N6s94;K(+Q0t&8rfHp;u8mQV(At6+mWC^ZPJF?vZAHsL>2Yd@o zfwY2^M)rDVy|eRqu>ZbeW7p!);>cpp;@F~&(Bi`u&+S=rniwfL$IL*S!xWX~Qc%Lh z3WZUK&KN7H3?#bXIb1Fa4XLEW8Qs7bSG;CJpBbbi@B$xv4}70^XEX?%A=3s@#e^=I zk;*m=nJAX5KuD1-D4B9Jf-O*EQ=w$VXVYsZiIZrf#&3B}PYPotLHbtNVFq7~Ta}E9 z4#}RG(rCK3=>WnFuO9q_3L=rooQr~z@R1v5R4x@OVIb8)QzEK$s=I!Nd|$g>$GL-^ zk}tLie!ST>%(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +msgid "BOM actions" msgstr "" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" +msgid "Delete Items" msgstr "" #: part/templates/part/bom_duplicate.html:13 @@ -4360,28 +4170,23 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "" @@ -4394,93 +4199,103 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:32 +msgid "Subscribe to notifications for this category" msgstr "" #: part/templates/part/category.html:38 -msgid "Create new part category" +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:43 +msgid "Edit category" msgstr "" #: part/templates/part/category.html:44 -msgid "Edit part category" +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:48 +msgid "Delete category" msgstr "" #: part/templates/part/category.html:49 -msgid "Delete part category" +msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" +#: part/templates/part/category.html:57 +msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:58 +msgid "New Category" +msgstr "" + +#: part/templates/part/category.html:67 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "" @@ -4519,12 +4334,7 @@ msgstr "" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "" @@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +msgid "Part Details" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:375 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4691,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4725,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4795,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4817,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4837,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4856,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5026,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5087,582 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 -msgid "Test Results" +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +msgid "Quantity is required" +msgstr "" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" +#: stock/serializers.py:287 +msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:554 +#: stock/serializers.py:302 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:308 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:339 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5716,68 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:99 -msgid "Location Details" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:104 -msgid "Location Path" +#: stock/templates/stock/location.html:76 +msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:109 -msgid "Location Description" +#: stock/templates/stock/location.html:86 +msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: 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 "" @@ -5965,7 +5786,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5807,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +5924,67 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" +#: templates/InvenTree/index.html:88 +msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6004,23 @@ msgstr "" msgid "Currency Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "" @@ -6207,147 +6028,74 @@ msgstr "" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "" @@ -6363,134 +6111,154 @@ msgstr "" msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" +#: templates/InvenTree/settings/user.html:101 +msgid "Add Email Address" msgstr "" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" +#: templates/InvenTree/settings/user.html:111 +msgid "Enter e-mail address" msgstr "" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:214 -msgid "Help the translation efforts!" +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user.html:224 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:35 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 @@ -6505,124 +6273,139 @@ msgstr "" msgid "Search Settings" msgstr "" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" +msgid "Confirm Email Address" msgstr "" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +msgid "InvenTree demo instance" +msgstr "" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6413,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6443,11 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" msgstr "" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6464,77 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +msgid "InvenTree version" +msgstr "" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: templates/email/low_stock_notification.html:19 +msgid "Minimum Quantity" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6551,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6611,369 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:243 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:282 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" +#: templates/js/translated/bom.js:772 +msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:202 +msgid "Unallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:220 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:221 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:275 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:291 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:603 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +6993,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "" @@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "" @@ -7222,12 +7078,12 @@ msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7091,61 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7157,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "" @@ -7342,62 +7207,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7270,35 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "" @@ -7445,565 +7310,688 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:1044 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:1283 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:189 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:195 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:338 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:351 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8011,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8281,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8338,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8417,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "" - diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.mo b/InvenTree/locale/zh/LC_MESSAGES/django.mo index d02b517fab4f5decbc17e3e4aaf12a440530d8f6..ca6e3887e35df0b3251c367cfeddde1ffc28d6f5 100644 GIT binary patch literal 44746 zcmbW92b@*a)wfTgv1`<5?B-elm1fi!EJQ&g5fK56HD;K(%#2QR?u>|aQ0ZMj=}izs zVNj7?G%?+@H_bHD=H8i!NsK8bc~ktJ|6c2yd+vb7_q#t2&sn>dwfA0o?=!xB93-*e8naKS!=nbk#*sl!1dFUeO)!a5xqcEP4zc1|N6#Rq$x!P4H0o zDm()I1Rer^=kh<`hmjAyIEwa%C%_NE)8N^#2UNP(!((8D^M2S9c@8`QegSreufr?h z{+C42d2k3+I*-5uU@KJlx4?tox1p-|6L>J(|5B^hN8o|Tr$d#m7d#nW3RTYApz5E6 zr@_0S@?QXz-WTC1@Q+aCJhH#F!>6F~9Rf4(CU`Qu7pmU#q1tOHRC(4pw?eh&m*9!; zr|>BFcc^wb^ixrE96ST6efvYT+hCV(fl9Xu9trP;N@o&09zF$?-pjBX{2^5N|KrSD zX63vbD*ZC3{;Y!^fi18voCDR~Uxw0)KS8z6+i*X4{N)z^6lX8zMNs9s3aZ_2f$Fa; zRJrP)+T#(Zddz^ze=$_Ltx)~637!hS3{|gAsC4%oVEuNC^J7r?baS~cRKI)@D*b^_ z=?#Ob-$>XC-VIg%Rj>zq-u-_DRo*{BwfjGy%6-5<%jYDh{_6&n?j_D^-2XNxy{d%A z!g{Fi6QSy{1S;LFFay8pa;M9GhYEk(6_#&rsCWaR^z?S9bQ|Eu;3TO0o`#C|98`I~ z0u}COQ1Si>Rsa1MRBG4bq59zxsPKcJ;(yNNCMZ3e1f^e3Le=*rsC2*M{+&?caGy_G z_~W7c&x0!0HBkL${3zShDY4K-d)hbO_yp!(x>7}f_Uy_^p- zaJ$PtgZm@@$GP87%jYntb~wf5bKqgf{h`MH5U6ob2UX9xQ2p~XRJd26^!}&tVEAiz zIQ#=tJG=u`k3+AsdVdTm+y&0dq3S&Z9sqBFieCYHz-FlWEp={#s>ctY%KdYw{5zof z`AwHk9Om|cvjX82+FEvS57cm57)9R4p8dVVofewV`| z;B`>_Qx4VNW8p{ORH*!yL6vtKRQMl3<=Y9>AAg2wk9VNzd&rHJUw5eapf^-|oCh`E z41y|O9h4r9c20yJMV=28Zv)&1z6h26R;c{H43*w%@L2eJsP@|LCacGBQ2p=;sPwLY zihnCqd8?hxQ1u!MRqiEF@wP$f=U1WPzX6rc2XD6aI02r9d_K&;o1n^jFI)*9f@d=O3WP$={&#{T=5)pSN~88Y;h2p!_d_ zYQHO?^lli`c&dbIuR5r9Sqh~$JD}441yuRloo_+a`=3zb@31m!=aZa0q4K)~s{U6& z)%SY$zu9>Ql%CuRr8g6y`ezALyvU6?Ug+!(KZJZGR6c{D z^nC7H2x!mA#6I6Zfhst*nR5|8A<+}_@zcxXI z`vz2guerSM9o8>LK;?HVR5^P)`$NUM7An14q0(=Jnr|O;|CvzzuoxbDN6eO`vryVs!F@t;uR^UyjA*BhROJOHZvl~DD)7b^T@sPq>> zwbx3h_T33p&pcE}%!zZEg`w`5*0_+R-&sjY_360u}Fv zP~|$H$;SQRQ2lijRJ|{B4ua~ho1ywK3(tgiLah^z!OP%xpu!#5Z1p?|s-AtI>T@wv zx`Uwl}A1p~8=bn(rQlH^K2x`TPksCm8r7z=khRQgR&@yEJ65i0$;Q1x5o?%Uy!$X|8;pSu4WQ2Bk}UQ6eAsQx|$ zo(|83%4aB4dbc@q@Hpg2Q1PFHr@$TXQ}A`D`Ql^u+4#B~s+^yLDo57kd!X`p$mNw# z`90(E7MFKJ*(a|;mG2Fxdj1tE-w)ky{@tL`yVB)5q2`&%Q0YGJ-0l9a!jIzq22}Yz z_<)5w(D_m4X;9_v16AJvF5e2(F7?iFQ28u$u5rHT`~p53l(m&%e$cZ;~P-r`n~htQ0X7qV&OB+Zq8m%jPtrM?l3p#n~MyUT^2+&g-GdRRxt! zv&++6Ug+{hsPtckO6R-o-sbXKQ1jQm4_mp8hU(vsL8X5_RJ_Zb*F)u3uNbpH$${=i2p-H$qZI4^cy3#B(Bq1x*~sCW~dbD`R4h09MnH@W*4UH-bu zKXUnXsQSDCmF|C_`t5*6eZ0a`kgtTN!zy?poCa0?wNUxK1XZ4|IKK~-?ysDGfoiAy z$65Plpz`Yjl}Jqi+j*h$ z3g;LGrI z_&etj6Rn>wfQmN^YTdaVc7sjsz6h#ZPs3y2R_Ax2%GC*#{-2@Bck(1l?+oX;Q0>+q zs(o*Ss{fttKh`L(AEaw2{t?)p?HAA(-Ls0R?LzQC@4DIOhR;YIQ zGSoQu1yuO|K;?hbR7N~;}`=Rn(0+s$M*b}xwrTcTJ^nUAdG{f8vbsi7p-wmprE^!WZ_i}h9?qi_J zu?(IDzwGY6g=&W*X1YE>m7^b2dIMeltjlH2CaCgFaCr_?I;-9NC3pWORQY}h)&6h0 z|FN?y{25T=@KUI7!(Fb1ry@THFNVvZ%JsUl11kSNLABpI?!Mn+CLiuR1}fai&a5#xinj$S{V%!vs`JNC;S28nFXuk9ZGUqRlwO|<6~7<+FuV*Z z-gVAO_kRHHgZraU^_&P5{xNt2Tmcntqq~3I<)1)>|D((Q3svsJ=a~CRP;xh@@|*`h z0*AVL1w0A)E~xZpK=tD)cqrTjHC|tZivI>wefFQr+zStblIOr9;X>znsC-{``CCx+ z`4v1Gz6IsK|KnE9qoCrS?Cc8_ejrr%5m5Qu;qG@qg&*tk9H?+Bq0-$3Ro<^a)#o>` z5BwL@`0DwD@fN6flc4Ik)a6}J@xKpMjz78_&9n4Rgwp38P~onIDo-U;diTO(;Y_Ib zPdm3lh5H&*{GUOU_dihmc<_8n?`Wv{_Ju)TUA_%!UaEk{!l_W@UIlx>SKtTXpP|xw z8!DY>fw#BwDCa3q<>}?}WzHe)ehXCmI;e6q!()^jRQ}Jq|2Lff167|NI}6S~JEMhG zu0x^HJq9ZL$u6Jm^106b&cRUSyvbPu)vgc01K2 zVY#JuI#fQrT)qe@|0|% zcLr2C=ev9r4E2X+;a&%o{(Sd;3aUJtTz(BIdn~Rj(CL<#`$^{0^vgd)4_v_x~l-`290fekZIlc88%pE??!m-Z>I#yw}5%;1sBQ zpN7h315|ysL6!SE&Q7R!AAHKvKN+h0eO(?3)h^{OkAo`LJm)Is^HA}2!_(pG?!M1z ztMB1(Kio4=`E`Q|H^AMipwg{}D)0Ty@$Nnos{D&xe!=CJT>hc+H&E^LNB7@njpcV7 z?1uaKQ0wV!E>D3<_XVhUUxUj3XRtRcxct$ltsWU?A1FKLQ&91TIjfuxLiO_;=St^B z_kRT*i2qNVZBX_9gY%zIzh8k0UvRz+Rj&P>H69APBOe7n4ljXP zFYbbez%@|ic+usrI)4C_?ysTZ{Rt}FGuK(Xo=|$&52_ruI`4z3#{#JEE1}YV#^qh^ z|0S2d?ffA;gm6E1`M1uu;K8{6-Q|7P+dk-EsPsob<#!8IyJTIihDtBzY;pH#P~~~T zxz_!6!Vln{{=M`;_7ynpOnLOgtq%E7cYBivH7WmA{NrCgh2=RK|Lr*b#XUyhc5N!$ zXL0`}&kd<`Shk`SsW21p+lbpJ9{oO#d>s4&VV>dr)9`foJ>15@z5QOp@hd5heR)?K zeVn*w@?dI&-$vdC^L7&H+yncTa*{ zejaX>JXN?=A#df;?{efGyf5bY0PhoVdkC&Y-p%_-yz6%e@+~}1@Vv%z9d5tnd6xG# z;M+VK2z!u+M~t4t?{IiCyi78Fli)+hBR$+Fc>e@$yC9}?_|3!bH^^`DT+8zdT&H;W z6&_{_{9pWzhnGOM15pi61L4j>*6&b5_;-Z6eHTvk_nSS+YK4|HS*hd2Z+VB61baZ9G@==%@MU1=4DR3+2G?9M9t%;xr?F3+i_! zya`_8{`Vr!;{DUOox`(*_gbE{Jk=g2gS&qJ;<*EN{mR|%Xyo0zf1PI;?gNmsJeqU& z!|e|qt{Jy}ykGC~QOLb{;@=UxU+D6e2y-#-l`ik^{5I}0d9Ly_e(8LQME<~YC(k{& zUG9l4;r$Yi`!w$vo@05&;&wJ+p5z(IGYYp&@Qb+5Pe+9<3{%}24wB`E>}LV8ux*`f5^iL){SdB#cj2~; z_bDaub$qExE;!S9o&Zd z4xX2I{~^!8ydMSiTh9AR9{tYeInm=w-pV5zYqI;F0$2O{{e=4(eusJZR@lJvJD!tp z*Y7$HdmwJtAU`FU=L5*M!dDRQ;Jq*WF>K>GfcJkW81MS+10RK_5&mDiujF}}_nUb1 zdmQ;y$G~slelYL)t%o<@HqONG?_*&UkVks>9B$KbJDjJ*-Il?%xa)Tt?_=N_?)Nn~m#{Cxk3jwIbiWtj{m5SpuFO^L z|7GV1xbNcmjE8?7o{Ibf_#9zcd7lRBk_{46}f-|>z<#d8<(062t4ztfQq zSR1kWaazYD+ncz(w7 z51tS6==Y9u4euW!>{JiG5AvURmbrX3;Rf+!kk59v&B*--a}6AWTRqPayzBQlcrAPh zK9BpyJkBcIhVecd&c^S2p6hv^!t*HZZz13AVOyM!9h@!W_!2fpKB%89=}?_YxF;dg?k_k#N$irm2aPw{&h z{vMvn^GTi|_?5x`;W?bAJMxu;neAyPi6OWT7f7@}J!}BZ- z--P=84X)<-D9ujknZzp==V z@xB0l7p}wYINsx5AKquh0=y6ZPw-{rs}%NTy$9ljujP|%bJ?X%ByO#bxlFMrmU`cR9Sgbb7Qt~4~NXqvPKKWOIdBU z$-~GwGl0@m);Ep`v4%G{G}KhPcPtd6*JVd%2GrL!l+}gcjoF+ER9jsaT~b`dj8^_k0?t7}rhatbE*k!knp z`nt?r&1H2>)lFkEwavLEWl`CfCE>RgoySzcCGo~@y(L<%iK*jz4KJFpjm>r~Nf zV|7_grmnemqj@eR>jVg)zFX?V`#7HToZkq1P<>gom#&xo2^iH z-d$E*Q#P_DTYU4Ly}Yda&dNsVab|RVZ0nLq#*}C#E#HAh#pipPMs`?Cc>1*7Hnfm6YhGy#5Se+e(BIe2)s~fC{qX?Gu zL1059{F@n=ZK6SQkx4`9o3ioywT%_@y19q<%&_dJtO`S`YcOTHxMqenW=B=uQ{tIS zJ?R(}x15PU1G*$I?$vdB^NEXeoex=$HN2^;sX6vz{-Q5pNt0lglQU7i z1EJ`-bSsz;bi=(zm(ki`w1;7%DBW{Cl1VR_cSmN?rEI35ku`+HBGZ^{sAmGURII0& zH%3=gqk1Wg3+1*cSp^ys4Pf#N{$XBYTFup?Dw=YbX6tLSjk*2`!|db8glfb>$SD>= zuf&3;;an!|qzWY~Q2c^MCu*PgW(Ex`z7H*Hswzr}h7MrbugpdUri)yTd4~+btTVFy zo=}JSx>41QwV7(o5n-Z7=RAnUSGoDyv_KrZG*GOgLe+9|s>|}XIs@u!!wL*p6RR0_ z_C^!hDj5pxuQo7akFtu2uzbdHYNRKTM>W>hCf$_{B}T>Q;gMN&Z)iugpJ$+%I}uVH zy=P4IXA*LBc4Usm$Xq{caBvG_T50Mf?%5L2W{o7UB^B0oo1Nkw_DB_0@;JPv+ks52 zL9VZp1v9|fJSP1g^1ikq+Zg&G@dy@6@C}{jT{$ugA|D~85zH}(U#@9E1;7@tSU%l) z34Dr3!pHjYuHn0AkrzmIQbVGB?iji&9>=An+#_tTPnb<&GaxAth7A@9YI^y#*JQ#Z z%-X_oNcph`6K1ltED4#Sk_F#PLlx~E8v_IC8^&akAxF!aWhfn%#TmwaC`U9POs4S= zu=UB^_KcqykwtYv|5`NlS)4@Zzc^0f*xXpoa+;0R%A!@*RX53WDJg;)c6cxc^Hqjr~3U@J;FiV;lexFB(} zy`QiRR4R=7B|xG2{9HjPlMFq;&O*x1EZE%#1M@Fo74Yfa%jSggD< zMs2_p6+RAkdYfk3Dvz^=2i35;an2B9u^(2p` zBxu@^h2Fy^quS-T-(vqg$DRk=!y_panqe&%r;#|MgCqsRw^*UQb##|~C#e>#h}3(g zdwnpd%W8V0gJ_Dk_22fl#K4HMftngV+Rcp#gUpQXfz>%?yD=GQBfFq%jq5s#bYuN! zhV(h;ey)k#lrpHOA6-{dUsj>z8>6l)?6~-=(_$KKv)O?8|4F1Q-j3M}o@|jBfjQ<0 zjk8+X*Rw3gBCD$?Ys}nTogJOH*0Adtu-|ToXIQPC%n~wlg1zYz4oYVMv21JH?7^Pt8U#}^?UbJWZPrmb*4~*xni`8@ zwM5HUX3xN8PCYa=Wd;o$5;g-`dPg%CQi)LhTzvjg3_3Innk1%zr4q7@cfZVil@ILA zwN9>V0i!F*Fvdd`VRH~~Ai~BwR)UJMrm~SNkkJ(t)lK1_^zn}z-AoIw?=?eN0H2?N zu*bw>>6@_{LQqd1rm^T{Py-|eghdNZskmL{oshur^aNwklF20m&_b9QR3}9>Gby;b zZqO!OJd&9x1lwb}u^edObR`hI65g>Es&rOSdOAW0_J&k7x3(Gy@Rm~E`XjtYY}wIs($SoOle*qF?y=DM&4FRS5H%|lR$x=LmQbX933 zMUqy!6R#*|@C_DJZ2Fp0V%?gU%t*2hN{n#xFKG@da5_{jx}vd>n4Dsiaq?JcQ)qC@ z*?CnwY;w&bYpa{og;vyiurk>mW`m}yE zfHbbG&emY&gp-3%6g$|ulH;w6`4L3#L6z+tJq~+Dd4wHX{DM6|VH@j0uy6{89;zbfF zeIxoZgmDpFsWYLf=+mZ7*;t9xk`=+4tkp?X_p3%+GuV$`dJvfLSr>h}F`K=Uf9snY z?BC2tRzr=itFj{-SyZmdR##RvWp1ghy^Z&phOo-UC*LxIv!l?2rrasfRa&2hYGzK% zT+PR!26j5rn61p-!*m%MDsvw%4@85sZfh$^0KCsUah%25eh-a zu*s!ZmR$(WKb9w5%!qyOz&5kJk8tsV^lm}@9HV3dtk%<#WCs;tiy)^e&f6(DZ#5hd znMIhXFk=fx&h}){)HT(|0<}~!;T$BGIw=o@!%Xxu{Xy|ePQy15%BLntnIU$*UvvzX z8Wtuk*mJ0aR0N4Ct0xdItYI=5RChOXe?^87hGC+Kiqh+ZK{rIPXK@;$vqHa=#4WF? zw+t;Q6XX4zQVi31lA3M^8q83NGf0*Q6!PwBT{6TzoSD&9xh&yzc+TjryE|Jqf;lLY z8-tl$o2kl{)o@}TZW>U2n~?{(saS?p+t}2s<&b7OhvgLOD;VOr`cX}zb++bXfHSNN zHX*ZVwtqAzmur?f(ggN4k~g}tn)&ZDWgPwKFz{;M^+s272#d#H?FQ`M;(QhynVyO} z6LYBwlOzR-Pll!1wY45SG_M7uis5v{mc1@+%zUgV*bNmPaddS>Q`O#5t*dM@mpbDz_? z9ZZE_&Bs>|7OGjjr?NDT&Q@y8=7fT?H#bk>vv1iG^09yV$#g2VUHV!(OvFipg($hm zmI|HmVWM#4j=@1gRn?EyLY~XAjpvxBF{^Vhb{}<^?WrimUJudCJ}Rb|_O<~~RmQY9 zGMlYSmJ>QA*nlbl^V?ma&Z%!dGTraXJ>Yl7rl#>sj?Z0eL$19#y4KG{{UsNLIfQA9 zhOyV7=tAl>4xz&d+hO`89C~6Aq&%tDI6`CguIBI|PEaljfFBd7tdiPzDPj`GO0A^p z=__i4qLyX26vQlRB4B9*mB2PknZAAcoRN51)R3kZvJOi|3rh%6!9B=OjG3}Z1_^K4 zeR9RXo6onI5wSKEoq|DD6t$q_QZYi7MLBrM@Vz{IG(fy2c{b@3&sLxiA~{UcMRM>T zfc+J2OH7JyimabJOne}zC9lLI-sXq6m^a3-OSJdFobuXRdI|Dm32n}FK(wNqy)p-uee zm`nB~-Q|UXSB=SG#MmCChvk%9sWGc?%+6ewC0ed}WVKG}Qge*YJ{BuhQ!N!m4X0F0 z4;++?vV)*ZcNs-xJ#*OxIz5;}HrhsI$o3K&KMiG^7I|Sbjp>j{2P$rx47~4lQXi?gzfHxc{BcMh2F8lMNNib z#*T(^z#JwiPTq9jM-OOS8(I`~UQiK#Z&B)QitC?ZlzN3lN#+ynl%!Si9`UF3rn<5&juL|tnMBQu3%2k*8aBge|5c)Ti-tCb=MPo0*FPEPAB#o})C}(y`ok8KnQ8(R!Q{4a=5iDH>ax$}(MA zCU&5I&{O<)FnLQK&ZduLwe^311of>ZiZCpzlU9tCn&#TNSYozmir?9L`Rg9%VHVe? z`{XptdcN2{!(xlV_9cmNqZ!$j{Sss8zXczIW!lBQN}`xKR+6wj_#G2}uM_GUj;X4p z4a2g0mCd)f$&0OT@war*Fjc*o;f!HA{Oao?wr@d;oU-zpZuDdWAr2pq13*FVXPh6hX5L4nMm9cCtP>|D$zcP$g`~;Tgr2R2(RllXf(H(U!~>Lr0`hS0wTM1j*v+r$Zpoj{S8>1L_-P+A~-X)5m#RauU%^p=>B zX~B1o`Vd3k7-$(%*QgT37$MMobq^H1?5{tDS5-GONKLe{^jjY6*Bipu6~Qsg5wZub z4BvSKw`7eebq;H}5B@UL6JHF=_&O-W)OUPZ2dsd~H0_eX0Fh2taW1BBv#eN5^o?w) zOsA-pVwJk>Jzis0X$NglYjD2C$0qR@j%AyBRq|*!M@G7p9v+U&nSFgj9}l|3BX$Ul z8h=(8hC@h=aM;j(N9ZZbA?!j3CQUSF`$~IwQ??;Xg}bZETac zH?u9Crs6mli$T21gbjBhNiT|iK}*=Bmw3mvaH*q)xD4r1*HH9QHXjjRg1zDhx8aTua;RBkcTcAlef7yDx6qn1uTych-9td}f;!L-q0_^Y|~s;%TC6 z6pN@WC5qcC8WA7CjL>uxTm2)d%Bmx#+tgHAT$F10ODHW+48~f{ra9!_Gg;NCy5M9~k`i7;1A*IBfK!Nb%BS zv2!JZtYiR&I|$4&Gi)<-5hIpXidVDZn;BAxN0`Y|zM&MXQ+1heqR5I~{A)4JeB;Z= zXhd`4ol*l`W;P8G_Mn zm!!5}*}%t1Uw3k;$N2a6@Hs~;)N%S7rikczK1e|}A7`lnG(3|)hO&KWaDcVKN7VmxezS9SJC}g}4^vZ-GYbp{uO3%BDn0QP_MYEi% z{fe?Nxrp(Y7@xeCSmel3*6^3I3?VFp$grrvyyP+fNsb6{B` zs(Z=xBd+XuVKJNvz~3D9yn-uJonH0JTsX42>7b!C+@IF;3|4BtOkG0|bC>kJC}Xde z^ttGu8+#70J6S$q32l^am_0mu4jR}mbKd#qe!NegRLr=}s!>mBRE(xU+Aq`lmZYtF zC3nfUWor8N>79tZr9m~>-r2g|g9qGx%@xCkU-s!MhWD#V4-Xl-HAuKdIe8U6Wp`!lWW4{wd~TV@s}ZthsWtDXM~T4D3{ z{N!bh&iRkFZQtZVe&VLimSy?5VUpFsm+p?{F&eFDRtMmWe)q+r!&IvQ} zyT^4d-=1H&x^3I^K2d($*pBsEI_I?H=dAD8J)y8@sV84}cuo8A^^~LIsj*(Tbt|p% z`I%3=xnpUxX9%nHfBRGJOgB#;q`xGce%toh`G?ogIP@fe`bUL%t@)WxSwZqM9xrT~ zXmwWp?b{#icye5XKEy3BBR}zp{EW?!_jKFN-R*PM6xOXQJU)S*&(EAjo0^{@t(%u$ zv?dPQxu``28TUeg|5;=E)7v_qcs|O{XeGY4M}Fq?{EQ9x&8ymWE^6DhjXopJNkC?d zy|{W18y+sSPu^5$85{e|o<^_7!d}zp*fpD0DdwuTi3{`FeT-UdERd&T?HIyo=$E+C zn--&O%QRD%uHIJHy?duh5ypC9>IBUvbC%K^maC^$Qb`lMw=H=k6b2otFgrhOLt*l& zj^%6U0GmUYrwUV^4hAAy$4CS1+2tNHXgTWO-Pk!{LdV8+3gVhSqqS}ODw}rNx6jY7 zU%{juM!aX39_$Q6jeJjPFM>~BrbNX;`&4b{Xx&(tH$5^z->bRv=GOeKM`OWPjfEQv za~O94`PT7Lf9l${WnJO%t%c>|DLFGz$NH6wH3p5%jvm512o&Yl&9t`ga);;>-rO;f z5z@AE_M1B36q(FwK9}~0-Cdr6BlgRFhS{TpAwNgP217B%378-FG)|c-fEVx znX~faHc3U9=ie=C`_5VI&&-cXhDeEERdJ`3n#F@n<3BYn!`vK3p|zB!TzFy?>&%-w z7HA6Bl5CCU@WsZ5Txe%=vif-_S2NR2i|?A_LTd2EI-g3bBri+r-9xc{yB4G~@@{n} z(-IfL)NPBBXQZ!T3hSQ4Kho6v!giLB;#>Qi7txl^hu5ny%pa$Y*2PhN30%E3s%{1xx#w+7a!DO-Mg*D3yi+5vgXm0WrO$(Nl``f7Xih8Jti}S0e z#5MvAvwd5#6v_NjTaj>VU3m`f>ZX+i34&*5{w3MDlNly9vdyU^J1Z0(Xx<*yQalBF zZA|UFgfa{!ZjOAVGx*$Rg0CqyGoiSepxk(CU$(I@ZE4i8;gOEkxin~g$Bd|R`#dIu zlCqf-t8JtKXVzb^NGPlM#ks$?HdP>%Pm+JC7; z966m*mr{95hTRy4J&28edOX(F)5Zm<_H8oW-@!Iu;!c#v3Mc;l&vp zt0(5?uhEJ&Z&&-uZQ;*%iPXMs*PA=0cC<{zF2QnVopj54=L*J1+mWUdykm|yFT{J2$GSzC8#H)NZYw(ZjsjkX!hBKwxf0ud<*WQ%e! zP|+h%|Jh@G%Vcdx;oB!op#0M_I!-Kcq{v>_V9Zch8Hu*bn=p;_g!bXj!hB`vd}NK* zoX*(CqNe0+zNfOkFe!#hx$~t$$F$A)aT_{XvG7{y=e3rM?=)@O6Lwo{Iq8+cwDl|? zQTvX^J9f=-`0QeCKD)TE=e%JaKBd}*+MSXXvk~I1zSRi%`PAS(CBcH=D^l9u%`|gL zhPPHbcj_{2nyXI=CfITluOC*B^m#y+v_0Xj%czBV_Zr0eppbso8Gxbe@spipiQSPF z;;rkVwd_?nNJ;y#5$33c9YoP)vEXd3EVTB|`B*_%pW2^&s%;C~>6zM2CwtPuq-U6i z3UgWuQ^&d={mvGp@ZuD$t6{I<9{KU(&{Wf^cxZ;y%n;!SNCy{_mv%hD{KB#y{GyI2 z&q*b<>l(MJm~T+P*fp4BL_dIu(Ochfi0wi5oS7>FfQ1h#LGN$nmel+%QhE-A?K%#%g=nK zbMcbG3v;cP{qJhqcWldVn3beZnDli1xw*x3n2+cu9bY}Y?adwRvDYosiP!u!boR7h z&b%;J{l-j|HnChe!Wt3&lvd3@VH>O0uFWC%mZ=@%ChM(z*Ge`PQDN#NpNA%nm(0;e z+m6=4;#CUM`OLihwx{fnJildqe)7|HsAvZ~DpuQ;?U+bD67+|(KAnY~Ew+4q;(RS7 zyLQni{!fBY?HB`Dd_I`T1MCt+H|&Ie8-As+E;Ttxd!cJC1Mh9+o`dp zebKumRU;ePs!&2f9^Q)DnERTfMNbB36;!su`7#U7(}`SVtrg^y1GXeaWLvu8qiwUt+6;% zDlwI}q!@b%!{F#zuH^hF8K}NdOFT@e*%+@bOxhhR;ql}0FHSY%$}AK%Ba=AzL~U$; zEx|U@A$;tK6CTt(O3$7p0_%Z}OU>WrRfZ)k5znz<+AR@m(KY3YZ0u7PTfKD_vU6_a zgRWHn3QsI6%$;b{gpNu$I5H>3+2rz(!XtO(jT|7-)`T&G(UD#e%t1fQ(MN9>{Lv=Eo(dGFDOh|YK7OBed^(kotUtj z)I+n!7A8Ka>8q9}^&)YfO(pL>DM;h2!PM)Wyrj+FToNwNu`fB{hrv>P(I1;K zR51tJ*Kn9LLzymmmQFX#v!z(o+smJzwy)fkpSrEHWdZ9`>W@x4HZE_Ux}Jeicy>j{ z?&u&Q&QE^M>@BmrHEdX^FhHBp0 zuC|&eimjOz`TZPvtyq#QBylOaY&rbwQzIehkIe^B;rZq2YjZM#IvFfJq!QWMB3_R| zM2;{qSHk!TNx1D2D&pIlB*$de8lN$wvgSHN7GAj1EGkEQMX;B$`q&6@EP_o4(i5LN zOOxl~R5^r()h$xjv=^Y*?#|q}Q zjGe$17CcOFUt5!Vk;KVb(M~kNY|rK@teRSaHm+;i8m^RGk&=2Odk=DcuL>vX6szJB z%Q{zZSF=2})t*@9hbey39$LF(6Kkr)ie!pl>#|KO@wH}L1|5MGrmoGe8LQ>c&W0=` ztygmN>X#iXeptatqa+52PBOSon7dIe5{I3+sD0xKm45Za_O)F9K8eX=h7zf_Z=a1t z&P)|yh?<7u%G9J&u3$kF?;*zP#lHik<;;$eoum2P<`-5H zT_hpUf8OpTg0zR7RQj%~#J{V6DIm39)Z&LY`0El??J{j?aaNzZQ4@X34lJ1V`K&GD z3$1fJknP0G)VII-^vEq7s`)0ZW8+daUuVlMw%FkwaO$|IUxM+W#K2=T`u9x^@SrJX!{Y$1na+qO+@-@Z{@Z6RYb%JTFJ8w(jv;&Ha&QnY=} zbL{Baw#!b!{4_JZBm_&CnNh`IypnOGNueZMm+RFMKgKf4x+Tt;i#~a=;_junWj#)` zn}AU6*xE5+(IneHxTVx}&I@}=Pn#9ptZar_cbfz8mD+PRPlZ{iAh#!Rfpr6w+v)G*M=VwnQeQZA+#U{}wYDRP6WpYfLXi(mH-g9u}xBm*f`oy{^$cLuC)<7`-Q#iR zrcWpbm7r?N!i68#^C!T&Wp<8{s^ZC3b5 zj3rHL&yKlFEDkTBotFipCmfS?`P)X$u+R_2VdQUNh3phKxMj?K?A2POv` zJ~>$j#hN%tE2A~JH_nCy%uW97f-Ri?#oH~+qQ=*e5S_EmX`d& zCE8cmB{4EKO{Ai??S51ikNzxCMnSmCF24CtH)ro`6MQAN&!I}3(n72`C0FEo`vxZ+ z2`vrB?(s)ykxjM^H=}~lf^Q1UDXyQz4BcucjDG%8>YrRn zSmY8z-JO!H>Ed0x%|?4EPqNL6W5nCQ zl8V`Zo}J0~LAzyG63SOy^GTbkC84@jpsQ@^$@f%j#uyzebY`;C=`AGf7FalX_Az6s z5xIt>zyIV+tFvWn@@-a>SipOGlZ9ZPQ)<25y^~|0khwlj_2UZrzB1XMm|A(YO|ZQ` z2C_cgwR)HM$Ja4_uerT*#XJw}!B7A@NVmu(Sx7nb7lFy;WQnf{VXB!iD~#T7L!9g+ zVpEYDiP9_Qc#ht~!{!{mU)BA1`m|ftN7#PEe(9sMaNn$J2c5QA)U>xbnJI2_m)%g8 z#BlHUCdjj~xx}@JJCMS*nSREmw`A~jtlHf^V_o|sG>G%dukI@hk`>LO=<6xf^B_-_K;uWzPz_@lt| z&_VmPdE^srE5CyUNjsHdor-TIB})rMn?3F7X)t(H`^AqGrt_`!CU=chCN!OP&aAgd zPQhZ<7gp}11LTq$j}WV!i!pBY!uimrIjaIn+1bxK#8 zGadRpQZ21A*3_ga+)9~ERnoHN;WI~al@)F@!;!pyj1WHk2or9y$+tTuKbS7gTFIN4 z;ZadGBcO}S&aI1!FO*$eeNf_R`e9n{Rp}B|DSD{TTwQbMD*N6iNhNBZwIn}oi-wEc zGPs#pa-3pniKYhFyrTa~e%P&Axe16Q{1<>5lks_3TgeNXB+-1hkYjtE``zn4zrA>WK9BwtI=Q zhxNLbXzkBT$xnMBzS{{`Jl;UIduKIj+p#PjzCo}NO>N9)gUjfvZb@wfGAp*Pe}X=< zKg391Gj`YYT2Q+l?B>?!Q%r;FBBxFm*;LO)I8ETn%psQD?k6GA4UmLG6LdM(rG1Lt zmKw)Yaqd>clFu@k(REtYv1xLC+7r?R|7^^TFrxH*VbrniDL!3`k`JhLy=EU5@X2r3 zCO^!VWYcUo7bjd)AS^CiBH9$Vr-D<3B)pW}Z5^9A^c8V_<!-wsSH5C2*ff#tOCT$K&%7AAYcK+fbl^|=j9bd3xZ3@ojTjVJFeKg`Gg04miI$^ZZW diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 89b8b3fadc..a4b552ce13 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"POT-Creation-Date: 2021-11-22 22:08+0000\n" "PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -33,260 +33,266 @@ msgstr "未找到指定操作" msgid "Enter date" msgstr "输入日期" -#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 -#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 -#: part/forms.py:108 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:564 +#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93 +#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59 +#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:594 msgid "Confirm" msgstr "确认" -#: InvenTree/forms.py:132 +#: InvenTree/forms.py:136 msgid "Confirm delete" msgstr "确认删除" -#: InvenTree/forms.py:133 +#: InvenTree/forms.py:137 msgid "Confirm item deletion" msgstr "确认删除" -#: InvenTree/forms.py:164 +#: InvenTree/forms.py:168 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:165 +#: InvenTree/forms.py:169 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:176 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:177 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:205 +#: InvenTree/forms.py:209 msgid "Select Category" msgstr "选择分类" -#: InvenTree/forms.py:226 -msgid "E-mail (again)" -msgstr "" - #: InvenTree/forms.py:230 -msgid "E-mail address confirmation" +msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:250 +#: InvenTree/forms.py:234 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:254 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:401 +#: InvenTree/helpers.py:430 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "重复的序列号: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 -#: stock/views.py:1340 +#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440 +#: stock/views.py:1264 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:411 +#: InvenTree/helpers.py:440 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 -#: InvenTree/helpers.py:464 +#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Invalid group: {g}" msgstr "无效的群组: {g}" -#: InvenTree/helpers.py:469 +#: InvenTree/helpers.py:498 #, python-brace-format msgid "Duplicate serial: {g}" msgstr "重复的序列号: {g}" -#: InvenTree/helpers.py:477 +#: InvenTree/helpers.py:506 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:481 +#: InvenTree/helpers.py:510 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/models.py:66 stock/models.py:1823 +#: InvenTree/models.py:109 stock/models.py:1874 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:67 +#: InvenTree/models.py:110 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 +#: InvenTree/models.py:112 templates/js/translated/attachment.js:91 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:69 +#: InvenTree/models.py:112 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 -#: common/models.py:1056 part/models.py:2055 -#: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1669 +#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185 +#: common/models.py:1186 part/models.py:2205 part/models.py:2225 +#: report/templates/report/inventree_test_report_base.html:96 +#: templates/js/translated/stock.js:2054 msgid "User" msgstr "用户" -#: InvenTree/models.py:79 +#: InvenTree/models.py:122 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:99 +#: InvenTree/models.py:142 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:122 +#: InvenTree/models.py:165 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:132 +#: InvenTree/models.py:175 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:135 +#: InvenTree/models.py:178 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:142 +#: InvenTree/models.py:185 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:149 +#: InvenTree/models.py:192 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:184 +#: InvenTree/models.py:227 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 -#: label/models.py:112 part/models.py:659 part/models.py:2216 -#: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 -#: templates/js/translated/stock.js:1462 +#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415 +#: label/models.py:112 part/models.py:741 part/models.py:2389 +#: part/templates/part/detail.html:25 report/models.py:181 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:498 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272 +#: templates/js/translated/stock.js:1847 msgid "Name" msgstr "名称" -#: InvenTree/models.py:207 build/models.py:189 -#: build/templates/build/detail.html:24 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:76 -#: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:682 -#: part/templates/part/part_base.html:246 +#: InvenTree/models.py:250 build/models.py:207 +#: build/templates/build/detail.html:25 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:80 +#: company/templates/company/supplier_part.html:81 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 #: part/templates/part/set_category.html:14 report/models.py:194 -#: report/models.py:551 report/models.py:590 +#: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 -#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214 +#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621 +#: templates/js/translated/company.js:344 #: templates/js/translated/company.js:547 -#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 -#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 -#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 -#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 -#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:673 +#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:745 +#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291 +#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121 +#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:208 +#: InvenTree/models.py:251 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:216 +#: InvenTree/models.py:259 msgid "parent" msgstr "上级项" -#: InvenTree/serializers.py:55 part/models.py:2475 +#: InvenTree/serializers.py:62 part/models.py:2674 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:244 +#: InvenTree/serializers.py:251 msgid "Filename" msgstr "文件名" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:663 msgid "German" msgstr "德语" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:664 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:665 msgid "English" msgstr "英语" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:666 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:667 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/settings.py:668 msgid "French" msgstr "法语" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:669 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:670 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:671 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:672 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:673 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:674 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:675 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:541 +#: InvenTree/settings.py:676 +msgid "Portugese" +msgstr "" + +#: InvenTree/settings.py:677 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:542 +#: InvenTree/settings.py:678 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:543 +#: InvenTree/settings.py:679 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:544 +#: InvenTree/settings.py:680 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:545 +#: InvenTree/settings.py:681 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:546 +#: InvenTree/settings.py:682 msgid "Chinese" msgstr "中文(简体)" @@ -302,196 +308,196 @@ msgstr "未配置电子邮件后端" msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:314 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:311 msgid "Pending" msgstr "待定" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:102 msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314 msgid "Complete" msgstr "完成" -#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:313 msgid "Cancelled" msgstr "已取消" -#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 -#: InvenTree/status_codes.py:190 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:187 msgid "Lost" msgstr "丢失" -#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 -#: InvenTree/status_codes.py:192 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:189 msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:131 +#: InvenTree/status_codes.py:143 +#: order/templates/order/sales_order_base.html:147 msgid "Shipped" msgstr "已发货" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Attention needed" msgstr "需要关注" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Damaged" msgstr "破损" -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:186 msgid "Destroyed" msgstr "已销毁" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:188 msgid "Rejected" msgstr "Rejected" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:269 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:274 +#: InvenTree/status_codes.py:271 msgid "Stock item created" msgstr "库存项已创建" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:273 msgid "Edited stock item" msgstr "已编辑库存项" -#: InvenTree/status_codes.py:277 +#: InvenTree/status_codes.py:274 msgid "Assigned serial number" msgstr "已分配序列号" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:276 msgid "Stock counted" msgstr "库存计数" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:277 msgid "Stock manually added" msgstr "已手动添加库存" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:278 msgid "Stock manually removed" msgstr "库存手动删除" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:280 msgid "Location changed" msgstr "仓储地点已更改" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:282 msgid "Installed into assembly" msgstr "安装到组装中" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:283 msgid "Removed from assembly" msgstr "已从组装中删除" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:285 msgid "Installed component item" msgstr "已安装组件项" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:286 msgid "Removed component item" msgstr "已删除组件项" -#: InvenTree/status_codes.py:291 +#: InvenTree/status_codes.py:288 msgid "Split from parent item" msgstr "从父项拆分" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:289 msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 +#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202 msgid "Sent to customer" msgstr "发送给客户" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:292 msgid "Returned from customer" msgstr "从客户退货" -#: InvenTree/status_codes.py:297 +#: InvenTree/status_codes.py:294 msgid "Build order output created" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:298 +#: InvenTree/status_codes.py:295 msgid "Build order output completed" msgstr "生产订单输出已完成" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:297 msgid "Received against purchase order" msgstr "收到定购单" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:312 msgid "Production" msgstr "生产中" -#: InvenTree/validators.py:22 +#: InvenTree/validators.py:23 msgid "Not a valid currency code" msgstr "不是有效的货币代码" -#: InvenTree/validators.py:50 +#: InvenTree/validators.py:51 msgid "Invalid character in part name" msgstr "商品名称中存在无效字符" -#: InvenTree/validators.py:63 +#: InvenTree/validators.py:64 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: InvenTree/validators.py:77 InvenTree/validators.py:91 -#: InvenTree/validators.py:105 +#: InvenTree/validators.py:78 InvenTree/validators.py:92 +#: InvenTree/validators.py:106 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "引用必须匹配模板 {pattern}" -#: InvenTree/validators.py:113 +#: InvenTree/validators.py:114 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "名称中存在非法字符 ({x})" -#: InvenTree/validators.py:132 InvenTree/validators.py:148 +#: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" msgstr "备损值不能为负数" -#: InvenTree/validators.py:150 +#: InvenTree/validators.py:151 msgid "Overage must not exceed 100%" msgstr "备损不能超过 100%" -#: InvenTree/validators.py:157 +#: InvenTree/validators.py:158 msgid "Overage must be an integer value or a percentage" msgstr "备损必须是整数值或百分比" -#: InvenTree/views.py:616 +#: InvenTree/views.py:536 msgid "Delete Item" msgstr "删除项" -#: InvenTree/views.py:665 +#: InvenTree/views.py:585 msgid "Check box to confirm item deletion" msgstr "选中方框以确认项目删除" -#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:710 +#: InvenTree/views.py:630 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:954 templates/navbar.html:97 +#: InvenTree/views.py:863 templates/navbar.html:101 msgid "System Information" msgstr "系统信息" @@ -535,599 +541,586 @@ msgstr "条码哈希值已经匹配库存项目" msgid "Barcode associated with StockItem" msgstr "与库存项关联的条形码" -#: build/api.py:213 -msgid "Matching build order does not exist" -msgstr "" - -#: build/forms.py:37 -msgid "Build Order reference" -msgstr "相关生产订单" - -#: build/forms.py:38 -msgid "Order target date" -msgstr "订单预计日期" - -#: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:124 -#: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:124 -#: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 -#: templates/js/translated/order.js:1074 -msgid "Target Date" -msgstr "预计日期" - -#: build/forms.py:43 build/models.py:279 -msgid "Target date for build completion. Build will be overdue after this date." -msgstr "生产完成的目标日期。生产将在此日期之后逾期。" - -#: build/forms.py:48 build/forms.py:90 build/models.py:1281 -#: build/templates/build/allocation_card.html:23 -#: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1087 -#: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:101 order/forms.py:123 order/models.py:720 -#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2377 +#: build/forms.py:36 build/models.py:1283 +#: build/templates/build/build_base.html:124 +#: build/templates/build/detail.html:35 common/models.py:1225 +#: company/forms.py:42 company/templates/company/supplier_part.html:251 +#: order/forms.py:102 order/models.py:729 order/models.py:991 +#: order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237 +#: part/forms.py:253 part/forms.py:269 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 +#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:140 stock/templates/stock/item_base.html:269 -#: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 -#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 -#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 -#: templates/js/translated/model_renderers.js:74 -#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 -#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 -#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 -#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 -#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 -#: templates/js/translated/stock.js:1829 +#: report/templates/report/inventree_test_report_base.html:81 +#: report/templates/report/inventree_test_report_base.html:139 +#: stock/forms.py:156 stock/serializers.py:286 +#: stock/templates/stock/item_base.html:256 +#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441 +#: templates/js/translated/build.js:235 templates/js/translated/build.js:435 +#: templates/js/translated/build.js:629 templates/js/translated/build.js:639 +#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 +#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183 +#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268 +#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347 +#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141 msgid "Quantity" msgstr "数量" -#: build/forms.py:49 -msgid "Number of items to build" -msgstr "要生产的项目数量" - -#: build/forms.py:91 +#: build/forms.py:37 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 +#: build/forms.py:41 order/forms.py:96 stock/forms.py:95 +#: stock/serializers.py:307 templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:348 msgid "Serial Numbers" msgstr "序列号" -#: build/forms.py:97 +#: build/forms.py:43 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/forms.py:103 +#: build/forms.py:49 msgid "Confirm creation of build output" msgstr "确认创建生产产出" -#: build/forms.py:124 +#: build/forms.py:70 msgid "Confirm deletion of build output" msgstr "确认删除生产产出" -#: build/forms.py:145 -msgid "Confirm unallocation of stock" -msgstr "确认取消分配库存" - -#: build/forms.py:174 +#: build/forms.py:94 msgid "Mark build as complete" msgstr "标记生产已完成" -#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 -#: stock/forms.py:280 stock/serializers.py:553 -#: stock/templates/stock/item_base.html:299 -#: stock/templates/stock/stock_adjust.html:17 -#: templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 -#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 -#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 -#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 -#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 -#: templates/js/translated/stock.js:1546 -msgid "Location" -msgstr "地点" - -#: build/forms.py:199 -msgid "Location of completed parts" -msgstr "已完成商品所在仓储地点" - -#: build/forms.py:203 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:563 -#: order/serializers.py:238 stock/templates/stock/item_base.html:422 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 -#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 -#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 -#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 -msgid "Status" -msgstr "状态" - -#: build/forms.py:204 -msgid "Build output stock status" -msgstr "生产产出库存状态" - -#: build/forms.py:211 -msgid "Confirm incomplete" -msgstr "确认未完成" - -#: build/forms.py:212 -msgid "Confirm completion with incomplete stock allocation" -msgstr "确认以未完成库存分配方式完成" - -#: build/forms.py:215 -msgid "Confirm build completion" -msgstr "确认生产完成" - -#: build/forms.py:240 +#: build/forms.py:107 msgid "Confirm cancel" msgstr "确认取消" -#: build/forms.py:240 build/views.py:65 +#: build/forms.py:107 build/views.py:65 msgid "Confirm build cancellation" msgstr "确认生产取消" -#: build/models.py:115 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:119 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:73 +#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:397 msgid "Build Order" msgstr "生产订单" -#: build/models.py:120 build/templates/build/index.html:8 -#: build/templates/build/index.html:15 -#: order/templates/order/sales_order_detail.html:34 -#: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 -#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:171 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 +#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:42 +#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145 +#: users/models.py:44 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:180 +#: build/models.py:198 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:181 order/models.py:246 order/models.py:547 -#: order/models.py:727 part/models.py:2386 +#: build/models.py:199 order/models.py:249 order/models.py:556 +#: order/models.py:736 part/models.py:2585 #: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 -#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 -#: templates/js/translated/order.js:1438 +#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119 +#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451 msgid "Reference" msgstr "引用" -#: build/models.py:192 +#: build/models.py:210 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:201 build/templates/build/build_base.html:163 -#: build/templates/build/detail.html:80 +#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:202 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:207 build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:705 -#: order/models.py:780 order/models.py:851 -#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 -#: part/models.py:2000 part/models.py:2016 part/models.py:2035 -#: part/models.py:2053 part/models.py:2132 part/models.py:2254 -#: part/models.py:2361 part/templates/part/detail.html:199 +#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/templates/build/detail.html:30 company/models.py:705 +#: order/models.py:789 order/models.py:860 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 +#: part/models.py:2151 part/models.py:2167 part/models.py:2186 +#: part/models.py:2203 part/models.py:2305 part/models.py:2427 +#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: 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/js/translated/barcode.js:384 -#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 -#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 -#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 -#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 -#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 -#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:1817 +#: templates/InvenTree/search.html:86 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:16 +#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213 +#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620 +#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 +#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:426 +#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435 +#: templates/js/translated/part.js:726 templates/js/translated/part.js:892 +#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:2129 msgid "Part" msgstr "商品" -#: build/models.py:215 +#: build/models.py:233 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:220 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:224 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:229 templates/js/translated/build.js:962 +#: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" msgstr "来源地点" -#: build/models.py:233 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:238 +#: build/models.py:256 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:242 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:246 +#: build/models.py:264 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:249 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:253 +#: build/models.py:271 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:255 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:259 part/templates/part/part_base.html:198 +#: build/models.py:277 part/templates/part/part_base.html:216 msgid "Build Status" msgstr "生产状态" -#: build/models.py:263 +#: build/models.py:281 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:267 stock/models.py:513 +#: build/models.py:285 stock/models.py:544 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:271 +#: build/models.py:289 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:274 order/models.py:162 part/models.py:854 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 +#: build/models.py:292 order/models.py:165 part/models.py:936 +#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:278 order/models.py:569 +#: build/models.py:296 order/models.py:578 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:282 order/models.py:288 -#: templates/js/translated/build.js:1293 +#: build/models.py:297 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "生产完成的目标日期。生产将在此日期之后逾期。" + +#: build/models.py:300 order/models.py:291 +#: templates/js/translated/build.js:1697 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:288 +#: build/models.py:306 msgid "completed by" msgstr "完成人" -#: build/models.py:296 templates/js/translated/build.js:1264 +#: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" msgstr "发布者" -#: build/models.py:297 +#: build/models.py:315 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:305 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:108 order/models.py:176 -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:145 part/models.py:858 +#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:116 order/models.py:179 +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1680 msgid "Responsible" msgstr "责任人" -#: build/models.py:306 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "负责此生产订单的用户" -#: build/models.py:311 build/templates/build/detail.html:94 -#: company/templates/company/manufacturer_part.html:83 -#: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:266 stock/models.py:507 -#: stock/templates/stock/item_base.html:359 +#: build/models.py:329 build/templates/build/detail.html:102 +#: company/templates/company/manufacturer_part.html:87 +#: company/templates/company/supplier_part.html:88 +#: part/templates/part/detail.html:80 stock/models.py:538 +#: stock/templates/stock/item_base.html:346 msgid "External Link" msgstr "外部链接" -#: build/models.py:312 part/models.py:716 stock/models.py:509 +#: build/models.py:330 part/models.py:798 stock/models.py:540 msgid "Link to external URL" msgstr "链接到外部 URL" -#: build/models.py:316 build/templates/build/navbar.html:52 -#: company/models.py:142 company/models.py:577 -#: company/templates/company/navbar.html:69 -#: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:729 order/templates/order/po_navbar.html:38 -#: order/templates/order/po_navbar.html:41 -#: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:843 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 -#: part/templates/part/navbar.html:123 +#: build/models.py:334 build/serializers.py:201 company/models.py:142 +#: company/models.py:577 order/models.py:183 order/models.py:738 +#: part/models.py:925 part/templates/part/detail.html:223 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 -#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 -#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 +#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 +#: stock/serializers.py:584 templates/js/translated/barcode.js:58 +#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561 +#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340 msgid "Notes" msgstr "备注" -#: build/models.py:317 +#: build/models.py:335 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:714 +#: build/models.py:710 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:717 +#: build/models.py:713 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:720 +#: build/models.py:716 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1102 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1111 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1121 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1127 order/models.py:955 +#: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1133 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1191 +#: build/models.py:1193 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1251 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 -#: templates/navbar.html:35 +#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 +#: templates/navbar.html:33 msgid "Build" msgstr "生产" -#: build/models.py:1252 +#: build/models.py:1254 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1268 build/serializers.py:151 +#: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 -#: stock/templates/stock/item_base.html:31 -#: stock/templates/stock/item_base.html:353 -#: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 -#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 -#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 -#: templates/js/translated/stock.js:1605 +#: stock/templates/stock/item_base.html:16 +#: stock/templates/stock/item_base.html:340 +#: templates/js/translated/build.js:408 templates/js/translated/build.js:413 +#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 +#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161 +#: templates/js/translated/stock.js:1990 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1269 +#: build/models.py:1271 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1282 +#: build/models.py:1284 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1290 +#: build/models.py:1292 msgid "Install into" msgstr "安装到" -#: build/models.py:1291 +#: build/models.py:1293 msgid "Destination stock item" msgstr "" -#: build/serializers.py:133 part/models.py:2501 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:142 -msgid "bom_item.part must point to the same part as the build order" -msgstr "" - -#: build/serializers.py:157 -msgid "Item must be in stock" -msgstr "" - -#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 -#: stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - -#: build/serializers.py:180 +#: build/serializers.py:137 build/serializers.py:357 msgid "Build Output" msgstr "" +#: build/serializers.py:146 +#, fuzzy +#| msgid "Build output does not match build" +msgid "Build output does not match the parent build" +msgstr "生产产出与生产不匹配" + +#: build/serializers.py:150 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Output part does not match BuildOrder part" +msgstr "生产产出与订单不匹配" + +#: build/serializers.py:154 +#, fuzzy +#| msgid "Build output is already completed" +msgid "This build output has already been completed" +msgstr "生产产出已完成" + +#: build/serializers.py:158 +#, fuzzy +#| msgid "Required stock has not been fully allocated" +msgid "This build output is not fully allocated" +msgstr "所需库存尚未完全分配" + +#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285 +#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686 +#: stock/templates/stock/item_base.html:286 +#: templates/js/translated/barcode.js:384 +#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 +#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276 +#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180 +#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221 +#: templates/js/translated/stock.js:1931 +msgid "Location" +msgstr "地点" + +#: build/serializers.py:191 +#, fuzzy +#| msgid "Location of completed parts" +msgid "Location for completed build outputs" +msgstr "已完成商品所在仓储地点" + +#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/templates/build/detail.html:63 order/models.py:572 +#: order/serializers.py:238 stock/templates/stock/item_base.html:409 +#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 +#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157 +msgid "Status" +msgstr "状态" + #: build/serializers.py:213 +#, fuzzy +#| msgid "Build output must be specified" +msgid "A list of build outputs must be provided" +msgstr "必须指定生成产出" + +#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700 +#: part/models.py:2859 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:269 +#, fuzzy +#| msgid "Build Outputs" +msgid "Build output" +msgstr "生产产出" + +#: build/serializers.py:278 +#, fuzzy +#| msgid "Build output does not match build" +msgid "Build output must point to the same build" +msgstr "生产产出与生产不匹配" + +#: build/serializers.py:319 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:334 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:348 order/models.py:316 order/serializers.py:231 +#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:390 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:396 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:226 +#: build/serializers.py:403 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:254 +#: build/serializers.py:431 msgid "Allocation items must be provided" msgstr "" -#: build/templates/build/allocation_card.html:21 -#: build/templates/build/complete_output.html:46 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:636 -#: templates/js/translated/model_renderers.js:72 -#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 -msgid "Serial Number" -msgstr "序列号" +#: build/tasks.py:92 +#, fuzzy +#| msgid "Completed build order" +msgid "Stock required for build order" +msgstr "已完成的生产订单" -#: build/templates/build/build_base.html:18 +#: build/templates/build/build_base.html:39 +#: order/templates/order/order_base.html:28 +#: order/templates/order/sales_order_base.html:38 +msgid "Print actions" +msgstr "打印操作" + +#: build/templates/build/build_base.html:43 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Print build order report" +msgstr "打印订单报表" + +#: build/templates/build/build_base.html:50 +msgid "Build actions" +msgstr "生产操作" + +#: build/templates/build/build_base.html:54 +msgid "Edit Build" +msgstr "编辑生产" + +#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:207 build/views.py:56 +msgid "Cancel Build" +msgstr "取消生产" + +#: build/templates/build/build_base.html:59 +msgid "Delete Build" +msgstr "删除生产" + +#: build/templates/build/build_base.html:64 +#: build/templates/build/build_base.html:65 +#: build/templates/build/build_base.html:223 +msgid "Complete Build" +msgstr "生产完成" + +#: build/templates/build/build_base.html:79 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:25 +#: build/templates/build/build_base.html:86 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:32 +#: build/templates/build/build_base.html:93 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:37 +#: build/templates/build/build_base.html:98 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:42 +#: build/templates/build/build_base.html:103 msgid "Required build quantity has not yet been completed" msgstr "所需生产数量尚未完成" -#: build/templates/build/build_base.html:47 +#: build/templates/build/build_base.html:108 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:75 -#: company/templates/company/company_base.html:40 -#: company/templates/company/manufacturer_part.html:29 -#: company/templates/company/supplier_part.html:30 -#: order/templates/order/order_base.html:26 -#: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 -#: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:31 -msgid "Admin view" -msgstr "管理界面" +#: build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:132 +#: order/templates/order/order_base.html:140 +#: order/templates/order/sales_order_base.html:140 +#: report/templates/report/inventree_build_order_base.html:126 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 +#: templates/js/translated/order.js:1087 +msgid "Target Date" +msgstr "预计日期" -#: build/templates/build/build_base.html:81 -#: build/templates/build/build_base.html:150 -#: order/templates/order/order_base.html:32 -#: order/templates/order/order_base.html:86 -#: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:300 -#: templates/js/translated/table_filters.js:317 -msgid "Overdue" -msgstr "逾期" - -#: build/templates/build/build_base.html:90 -msgid "Print actions" -msgstr "打印操作" - -#: build/templates/build/build_base.html:94 -msgid "Print Build Order" -msgstr "打印生产订单" - -#: build/templates/build/build_base.html:100 -#: build/templates/build/build_base.html:222 -msgid "Complete Build" -msgstr "生产完成" - -#: build/templates/build/build_base.html:105 -msgid "Build actions" -msgstr "生产操作" - -#: build/templates/build/build_base.html:109 -msgid "Edit Build" -msgstr "编辑生产" - -#: build/templates/build/build_base.html:111 -#: build/templates/build/build_base.html:206 build/views.py:56 -msgid "Cancel Build" -msgstr "取消生产" - -#: build/templates/build/build_base.html:114 -msgid "Delete Build" -msgstr "删除生产" - -#: build/templates/build/build_base.html:124 -#: build/templates/build/detail.html:15 -msgid "Build Details" -msgstr "生产详情" - -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:143 #, python-format msgid "This build was due on %(target)s" msgstr "此次生产的截止日期为 %(target)s" -#: build/templates/build/build_base.html:157 -#: build/templates/build/detail.html:67 -msgid "Progress" -msgstr "生产进度" +#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:188 +#: order/templates/order/order_base.html:81 +#: order/templates/order/order_base.html:102 +#: order/templates/order/sales_order_base.html:78 +#: order/templates/order/sales_order_base.html:107 +#: templates/js/translated/table_filters.js:288 +#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:333 +msgid "Overdue" +msgstr "逾期" -#: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:848 +#: build/templates/build/build_base.html:150 +#: build/templates/build/detail.html:68 build/templates/build/detail.html:143 +#: templates/js/translated/build.js:1641 +#: templates/js/translated/table_filters.js:298 +msgid "Completed" +msgstr "已完成" + +#: build/templates/build/build_base.html:163 +#: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 -#: order/templates/order/sales_order_base.html:35 +#: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:1016 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/order.js:1029 msgid "Sales Order" msgstr "销售订单" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:101 +#: build/templates/build/build_base.html:170 +#: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "发布者" -#: build/templates/build/build_base.html:214 +#: build/templates/build/build_base.html:215 msgid "Incomplete Outputs" msgstr "未完成输出" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:216 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1175,220 +1168,205 @@ msgstr "所需生产数量尚未完成" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/templates/build/complete_output.html:10 -msgid "Stock allocation is complete for this output" -msgstr "" +#: build/templates/build/detail.html:16 +msgid "Build Details" +msgstr "生产详情" -#: build/templates/build/complete_output.html:14 -msgid "Stock allocation is incomplete" -msgstr "库存分配尚未完成" - -#: build/templates/build/complete_output.html:20 -msgid "tracked parts have not been fully allocated" -msgstr "" - -#: build/templates/build/complete_output.html:41 -msgid "The following items will be created" -msgstr "" - -#: build/templates/build/detail.html:38 +#: build/templates/build/detail.html:39 msgid "Stock Source" msgstr "" -#: build/templates/build/detail.html:43 +#: build/templates/build/detail.html:44 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 +#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:952 msgid "Destination" msgstr "" -#: build/templates/build/detail.html:56 +#: build/templates/build/detail.html:57 msgid "Destination location not specified" msgstr "" -#: build/templates/build/detail.html:73 -#: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 -#: templates/js/translated/table_filters.js:129 -#: templates/js/translated/table_filters.js:211 +#: build/templates/build/detail.html:74 templates/js/translated/build.js:647 +#, fuzzy +#| msgid "Allocate Stock" +msgid "Allocated Parts" +msgstr "分配库存" + +#: build/templates/build/detail.html:81 +#: stock/templates/stock/item_base.html:304 +#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164 +#: templates/js/translated/table_filters.js:145 +#: templates/js/translated/table_filters.js:227 msgid "Batch" msgstr "" -#: build/templates/build/detail.html:119 -#: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:118 -#: templates/js/translated/build.js:1259 +#: build/templates/build/detail.html:127 +#: order/templates/order/order_base.html:127 +#: order/templates/order/sales_order_base.html:134 +#: templates/js/translated/build.js:1663 msgid "Created" msgstr "已创建" -#: build/templates/build/detail.html:130 +#: build/templates/build/detail.html:138 msgid "No target date set" msgstr "无预计日期" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 -#: templates/js/translated/table_filters.js:282 -msgid "Completed" -msgstr "已完成" - -#: build/templates/build/detail.html:139 +#: build/templates/build/detail.html:147 msgid "Build not complete" msgstr "生产未完成" -#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 +#: build/templates/build/detail.html:158 msgid "Child Build Orders" msgstr "子生产订单" -#: build/templates/build/detail.html:166 +#: build/templates/build/detail.html:173 msgid "Allocate Stock to Build" msgstr "为生产分配库存" -#: build/templates/build/detail.html:172 -msgid "Allocate stock to build" -msgstr "为生产分配库存" - -#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 -#: build/templates/build/navbar.html:23 -msgid "Allocate Stock" -msgstr "分配库存" - -#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 +#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202 msgid "Unallocate stock" msgstr "未分配库存" -#: build/templates/build/detail.html:176 build/views.py:257 +#: build/templates/build/detail.html:178 msgid "Unallocate Stock" msgstr "未分配库存" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:180 +msgid "Allocate stock to build" +msgstr "为生产分配库存" + +#: build/templates/build/detail.html:181 +msgid "Allocate Stock" +msgstr "分配库存" + +#: build/templates/build/detail.html:184 msgid "Order required parts" msgstr "订单所需部件" -#: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:509 -#: part/templates/part/category.html:140 +#: build/templates/build/detail.html:185 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:85 order/views.py:509 +#: part/templates/part/category.html:166 msgid "Order Parts" msgstr "订购商品" -#: build/templates/build/detail.html:186 +#: build/templates/build/detail.html:197 msgid "Untracked stock has been fully allocated for this Build Order" msgstr "未跟踪的库存已完全分配给此生产订单" -#: build/templates/build/detail.html:190 +#: build/templates/build/detail.html:201 msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "未跟踪的库存尚未完全分配给此生产订单" -#: build/templates/build/detail.html:197 +#: build/templates/build/detail.html:208 msgid "Allocate selected items" msgstr "" -#: build/templates/build/detail.html:209 +#: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:218 +#: build/templates/build/detail.html:227 msgid "Incomplete Build Outputs" msgstr "未完成的生产产出" -#: build/templates/build/detail.html:223 +#: build/templates/build/detail.html:231 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:224 -msgid "Create New Output" -msgstr "" +#: build/templates/build/detail.html:232 +#, fuzzy +#| msgid "Build Outputs" +msgid "New Build Output" +msgstr "生产产出" -#: build/templates/build/detail.html:237 -msgid "Create a new build output" -msgstr "" +#: build/templates/build/detail.html:246 +#, fuzzy +#| msgid "Options" +msgid "Output Actions" +msgstr "选项" -#: build/templates/build/detail.html:238 -msgid "No incomplete build outputs remain." -msgstr "" +#: build/templates/build/detail.html:250 +#, fuzzy +#| msgid "Completed items" +msgid "Complete selected items" +msgstr "已完成项目" -#: build/templates/build/detail.html:239 -msgid "Create a new build output using the button above" -msgstr "" +#: build/templates/build/detail.html:251 +#, fuzzy +#| msgid "Incomplete Outputs" +msgid "Complete outputs" +msgstr "未完成输出" -#: build/templates/build/detail.html:247 +#: build/templates/build/detail.html:266 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 -#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 -#: order/templates/order/sales_order_detail.html:43 -#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 -#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 -#: stock/templates/stock/navbar.html:50 +#: build/templates/build/detail.html:278 +#: order/templates/order/purchase_order_detail.html:60 +#: order/templates/order/sales_order_detail.html:52 +#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95 msgid "Attachments" msgstr "附件" -#: build/templates/build/detail.html:269 +#: build/templates/build/detail.html:294 msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 -#: company/templates/company/detail.html:169 -#: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:71 -#: order/templates/order/purchase_order_detail.html:104 -#: order/templates/order/sales_order_detail.html:58 -#: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 -#: stock/templates/stock/item.html:188 +#: build/templates/build/detail.html:298 build/templates/build/detail.html:489 +#: company/templates/company/detail.html:188 +#: company/templates/company/detail.html:215 +#: order/templates/order/purchase_order_detail.html:80 +#: order/templates/order/purchase_order_detail.html:108 +#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:99 +#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "编辑备注" -#: build/templates/build/detail.html:373 -#: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:166 -#: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 -#: templates/attachment_table.html:6 +#: build/templates/build/detail.html:448 +#: order/templates/order/purchase_order_detail.html:170 +#: order/templates/order/sales_order_detail.html:160 +#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270 +#: templates/attachment_button.html:4 msgid "Add Attachment" msgstr "添加附件" -#: build/templates/build/detail.html:392 -#: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:138 -#: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 +#: build/templates/build/detail.html:467 +#: order/templates/order/purchase_order_detail.html:142 +#: order/templates/order/sales_order_detail.html:133 +#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238 msgid "Edit Attachment" msgstr "编辑附件" -#: build/templates/build/detail.html:399 -#: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:145 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 -#: templates/js/translated/order.js:1230 +#: build/templates/build/detail.html:474 +#: order/templates/order/purchase_order_detail.html:149 +#: order/templates/order/sales_order_detail.html:139 +#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247 +#: templates/js/translated/order.js:1243 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: build/templates/build/detail.html:400 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:146 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +#: build/templates/build/detail.html:475 +#: order/templates/order/purchase_order_detail.html:150 +#: order/templates/order/sales_order_detail.html:140 +#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248 msgid "Delete Attachment" msgstr "删除附件" -#: build/templates/build/detail.html:443 +#: build/templates/build/detail.html:513 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:444 +#: build/templates/build/detail.html:514 msgid "All untracked stock items have been allocated" 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/templates/build/index.html:18 part/templates/part/detail.html:433 msgid "New Build Order" msgstr "新建生产订单" @@ -1396,47 +1374,18 @@ msgstr "新建生产订单" 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 +#: build/templates/build/index.html:44 +#: order/templates/order/purchase_orders.html:34 +#: order/templates/order/sales_orders.html:37 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 +#: build/templates/build/index.html:47 +#: order/templates/order/purchase_orders.html:37 +#: order/templates/order/sales_orders.html:40 msgid "Display list view" msgstr "列表视图" -#: build/templates/build/navbar.html:12 -msgid "Build Order Details" -msgstr "生产订单详情" - -#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1534 -msgid "Details" -msgstr "详情" - -#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 -msgid "Build Outputs" -msgstr "生产产出" - -#: build/templates/build/navbar.html:38 -msgid "Child Builds" -msgstr "" - -#: build/templates/build/navbar.html:49 -msgid "Build Order Notes" -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:76 msgid "Build was cancelled" msgstr "生产已取消" @@ -1449,7 +1398,7 @@ msgstr "创建创建生产产出" msgid "Maximum output quantity is " msgstr "最大产出量是 " -#: build/views.py:122 stock/views.py:1366 +#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "序列号已存在" @@ -1461,11 +1410,11 @@ msgstr "可追踪的生产产出需要序列号" msgid "Delete Build Output" msgstr "删除生产产出" -#: build/views.py:218 build/views.py:308 +#: build/views.py:218 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:219 build/views.py:309 stock/views.py:381 +#: build/views.py:219 stock/views.py:385 msgid "Check the confirmation box" msgstr "选中确认框" @@ -1473,7 +1422,7 @@ msgstr "选中确认框" msgid "Build output does not match build" msgstr "生产产出与生产不匹配" -#: build/views.py:233 build/views.py:434 +#: build/views.py:233 msgid "Build output must be specified" msgstr "必须指定生成产出" @@ -1481,39 +1430,19 @@ msgstr "必须指定生成产出" msgid "Build output deleted" msgstr "生产产出已删除" -#: build/views.py:343 +#: build/views.py:261 msgid "Complete Build Order" msgstr "生产订单完成" -#: build/views.py:349 +#: build/views.py:267 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:360 +#: build/views.py:278 msgid "Completed build order" msgstr "已完成的生产订单" -#: build/views.py:376 -msgid "Complete Build Output" -msgstr "" - -#: build/views.py:418 -msgid "Invalid stock status value selected" -msgstr "选定的库存状态值无效" - -#: build/views.py:425 -msgid "Quantity to complete cannot exceed build output quantity" -msgstr "完成数量不能超过生产产出数量" - -#: build/views.py:431 -msgid "Confirm completion of incomplete build" -msgstr "" - -#: build/views.py:530 -msgid "Build output completed" -msgstr "生产产出已完成" - -#: build/views.py:567 +#: build/views.py:319 msgid "Delete Build Order" msgstr "删除生产订单" @@ -1554,728 +1483,754 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:887 common/models.py:1048 +#: common/models.py:340 common/models.py:970 common/models.py:1178 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:310 +#: common/models.py:342 msgid "Settings value" msgstr "" -#: common/models.py:345 +#: common/models.py:377 msgid "Must be an integer value" msgstr "" -#: common/models.py:368 +#: common/models.py:382 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:405 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:379 +#: common/models.py:416 msgid "Value must be an integer value" msgstr "" -#: common/models.py:402 +#: common/models.py:439 msgid "Key string must be unique" msgstr "" -#: common/models.py:509 +#: common/models.py:559 +#, fuzzy +#| msgid "Group" +msgid "No group" +msgstr "群组" + +#: common/models.py:601 +#, fuzzy +#| msgid "Order required parts" +msgid "Restart required" +msgstr "订单所需部件" + +#: common/models.py:602 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:609 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:511 +#: common/models.py:611 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:515 +#: common/models.py:615 msgid "Use instance name" msgstr "" -#: common/models.py:516 +#: common/models.py:616 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:100 company/models.py:101 +#: common/models.py:622 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "公司名称" -#: common/models.py:523 +#: common/models.py:623 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:528 +#: common/models.py:628 msgid "Base URL" msgstr "" -#: common/models.py:529 +#: common/models.py:629 msgid "Base URL for server instance" msgstr "" -#: common/models.py:535 +#: common/models.py:635 msgid "Default Currency" msgstr "" -#: common/models.py:536 +#: common/models.py:636 msgid "Default currency" msgstr "" -#: common/models.py:542 +#: common/models.py:642 msgid "Download from URL" msgstr "" -#: common/models.py:543 +#: common/models.py:643 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:549 +#: common/models.py:649 msgid "Barcode Support" msgstr "" -#: common/models.py:550 +#: common/models.py:650 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:556 +#: common/models.py:656 msgid "IPN Regex" msgstr "" -#: common/models.py:557 +#: common/models.py:657 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:561 +#: common/models.py:661 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:562 +#: common/models.py:662 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:568 +#: common/models.py:668 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:569 +#: common/models.py:669 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:575 +#: common/models.py:675 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:576 +#: common/models.py:676 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:582 +#: common/models.py:682 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:583 +#: common/models.py:683 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:589 +#: common/models.py:689 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:590 +#: common/models.py:690 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:696 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:597 +#: common/models.py:697 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2256 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:351 +#: common/models.py:703 part/models.py:2429 report/models.py:187 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:367 msgid "Template" msgstr "模板" -#: common/models.py:604 +#: common/models.py:704 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:806 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:363 +#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:379 msgid "Assembly" msgstr "组装" -#: common/models.py:611 +#: common/models.py:711 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:812 -#: templates/js/translated/table_filters.js:367 +#: common/models.py:717 part/models.py:894 +#: templates/js/translated/table_filters.js:383 msgid "Component" msgstr "组件" -#: common/models.py:618 +#: common/models.py:718 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:823 +#: common/models.py:724 part/models.py:905 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:625 +#: common/models.py:725 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:631 part/models.py:828 -#: templates/js/translated/table_filters.js:375 +#: common/models.py:731 part/models.py:910 +#: templates/js/translated/table_filters.js:391 msgid "Salable" msgstr "可销售" -#: common/models.py:632 +#: common/models.py:732 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:638 part/models.py:818 +#: common/models.py:738 part/models.py:900 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:379 +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:395 msgid "Trackable" msgstr "可追踪" -#: common/models.py:639 +#: common/models.py:739 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:645 part/models.py:838 -#: part/templates/part/part_base.html:66 +#: common/models.py:745 part/models.py:920 +#: part/templates/part/part_base.html:144 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "虚拟" -#: common/models.py:646 +#: common/models.py:746 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:652 +#: common/models.py:752 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:653 +#: common/models.py:753 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:659 +#: common/models.py:759 msgid "Show Price in Forms" msgstr "在表格中显示价格" -#: common/models.py:660 +#: common/models.py:760 msgid "Display part price in some forms" msgstr "以某些表格显示商品价格" -#: common/models.py:671 +#: common/models.py:771 msgid "Show Price in BOM" msgstr "" -#: common/models.py:672 +#: common/models.py:772 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:678 +#: common/models.py:778 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:679 +#: common/models.py:779 msgid "Display related parts for a part" msgstr "" -#: common/models.py:685 +#: common/models.py:785 msgid "Create initial stock" msgstr "创建初始库存" -#: common/models.py:686 +#: common/models.py:786 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:692 +#: common/models.py:792 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:693 +#: common/models.py:793 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:699 +#: common/models.py:799 msgid "Internal Price as BOM-Price" msgstr "内部价格为BOM价格" -#: common/models.py:700 +#: common/models.py:800 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "在 BOM价格计算中使用内部价格(如设置)" -#: common/models.py:706 templates/stats.html:25 +#: common/models.py:806 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:807 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:814 +#, fuzzy +#| msgid "Test Reports" +msgid "Enable Reports" +msgstr "测试报表" + +#: common/models.py:815 +#, fuzzy +#| msgid "Enable generation of test reports" +msgid "Enable generation of reports" +msgstr "启用生成测试报表" + +#: common/models.py:821 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:707 +#: common/models.py:822 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:713 +#: common/models.py:828 msgid "Page Size" msgstr "页面大小" -#: common/models.py:714 +#: common/models.py:829 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:724 +#: common/models.py:839 msgid "Test Reports" msgstr "测试报表" -#: common/models.py:725 +#: common/models.py:840 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:731 +#: common/models.py:846 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:732 +#: common/models.py:847 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:738 +#: common/models.py:853 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:739 +#: common/models.py:854 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:745 +#: common/models.py:860 msgid "Stock Stale Time" msgstr "" -#: common/models.py:746 +#: common/models.py:861 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:748 +#: common/models.py:863 msgid "days" msgstr "天" -#: common/models.py:753 +#: common/models.py:868 msgid "Build Expired Stock" msgstr "" -#: common/models.py:754 +#: common/models.py:869 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:760 +#: common/models.py:875 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:761 +#: common/models.py:876 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:767 +#: common/models.py:882 msgid "Group by Part" msgstr "按商品分组" -#: common/models.py:768 +#: common/models.py:883 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:774 +#: common/models.py:889 msgid "Build Order Reference Prefix" msgstr "生产订单参考前缀" -#: common/models.py:775 +#: common/models.py:890 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:780 +#: common/models.py:895 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:781 +#: common/models.py:896 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:785 +#: common/models.py:900 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:786 +#: common/models.py:901 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:791 +#: common/models.py:906 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:792 +#: common/models.py:907 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:798 -msgid "Enable build" -msgstr "" - -#: common/models.py:799 -msgid "Enable build functionality in InvenTree interface" -msgstr "" - -#: common/models.py:804 -msgid "Enable buy" -msgstr "启用采购" - -#: common/models.py:805 -msgid "Enable buy functionality in InvenTree interface" -msgstr "在 InventTree 界面中启用采购功能" - -#: common/models.py:810 -msgid "Enable sell" -msgstr "启用销售" - -#: common/models.py:811 -msgid "Enable sell functionality in InvenTree interface" -msgstr "在 InventTree 界面中启用销售功能" - -#: common/models.py:816 -msgid "Enable stock" -msgstr "" - -#: common/models.py:817 -msgid "Enable stock functionality in InvenTree interface" -msgstr "" - -#: common/models.py:822 -msgid "Enable SO" -msgstr "" - -#: common/models.py:823 -msgid "Enable SO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:828 -msgid "Enable PO" -msgstr "" - -#: common/models.py:829 -msgid "Enable PO functionality in InvenTree interface" -msgstr "" - -#: common/models.py:836 +#: common/models.py:913 msgid "Enable password forgot" msgstr "" -#: common/models.py:837 -msgid "Enable password forgot function on the login-pages" +#: common/models.py:914 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:842 +#: common/models.py:919 msgid "Enable registration" msgstr "" -#: common/models.py:843 -msgid "Enable self-registration for users on the login-pages" +#: common/models.py:920 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:848 +#: common/models.py:925 msgid "Enable SSO" msgstr "" -#: common/models.py:849 -msgid "Enable SSO on the login-pages" +#: common/models.py:926 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:854 -msgid "E-Mail required" -msgstr "" +#: common/models.py:931 +#, fuzzy +#| msgid "This field is required" +msgid "Email required" +msgstr "此字段为必填" -#: common/models.py:855 +#: common/models.py:932 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:860 +#: common/models.py:937 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:861 +#: common/models.py:938 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:866 +#: common/models.py:943 msgid "Mail twice" msgstr "" -#: common/models.py:867 +#: common/models.py:944 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:872 +#: common/models.py:949 msgid "Password twice" msgstr "" -#: common/models.py:873 +#: common/models.py:950 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:898 -msgid "Show starred parts" +#: common/models.py:955 +msgid "Group on signup" +msgstr "" + +#: common/models.py:956 +#, fuzzy +#| msgid "Select which users are assigned to this group" +msgid "Group to which new users are assigned on registration" +msgstr "选择分配给该组的用户" + +#: common/models.py:1001 +#, fuzzy +#| msgid "Show starred parts" +msgid "Show subscribed parts" msgstr "显示星标商品" -#: common/models.py:899 -msgid "Show starred parts on the homepage" +#: common/models.py:1002 +#, fuzzy +#| msgid "Show starred parts on the homepage" +msgid "Show subscribed parts on the homepage" msgstr "在主页上显示星标商品" -#: common/models.py:904 +#: common/models.py:1007 +#, fuzzy +#| msgid "Subcategories" +msgid "Show subscribed categories" +msgstr "子类别" + +#: common/models.py:1008 +#, fuzzy +#| msgid "Show starred parts on the homepage" +msgid "Show subscribed part categories on the homepage" +msgstr "在主页上显示星标商品" + +#: common/models.py:1013 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:905 +#: common/models.py:1014 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:910 +#: common/models.py:1019 msgid "Recent Part Count" msgstr "" -#: common/models.py:911 +#: common/models.py:1020 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:917 +#: common/models.py:1026 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:918 +#: common/models.py:1027 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:1032 msgid "Show recent stock changes" msgstr "" -#: common/models.py:924 +#: common/models.py:1033 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:1038 msgid "Recent Stock Count" msgstr "" -#: common/models.py:930 +#: common/models.py:1039 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:935 +#: common/models.py:1044 msgid "Show low stock" msgstr "" -#: common/models.py:936 +#: common/models.py:1045 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:1050 msgid "Show depleted stock" msgstr "" -#: common/models.py:942 +#: common/models.py:1051 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:1056 msgid "Show needed stock" msgstr "" -#: common/models.py:948 +#: common/models.py:1057 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:953 +#: common/models.py:1062 msgid "Show expired stock" msgstr "" -#: common/models.py:954 +#: common/models.py:1063 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:959 +#: common/models.py:1068 msgid "Show stale stock" msgstr "" -#: common/models.py:960 +#: common/models.py:1069 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:965 +#: common/models.py:1074 msgid "Show pending builds" msgstr "" -#: common/models.py:966 +#: common/models.py:1075 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:971 +#: common/models.py:1080 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:972 +#: common/models.py:1081 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:977 +#: common/models.py:1086 msgid "Show outstanding POs" msgstr "" -#: common/models.py:978 +#: common/models.py:1087 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:983 +#: common/models.py:1092 msgid "Show overdue POs" msgstr "" -#: common/models.py:984 +#: common/models.py:1093 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:989 +#: common/models.py:1098 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:990 +#: common/models.py:1099 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:995 +#: common/models.py:1104 msgid "Show overdue SOs" msgstr "" -#: common/models.py:996 +#: common/models.py:1105 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1002 +#: common/models.py:1111 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1003 +#: common/models.py:1112 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1009 +#: common/models.py:1118 msgid "Inline report display" msgstr "" -#: common/models.py:1010 +#: common/models.py:1119 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1016 +#: common/models.py:1125 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1017 +#: common/models.py:1126 msgid "Number of results to show in search preview window" msgstr "搜索预览窗口中显示的结果数" -#: common/models.py:1023 +#: common/models.py:1132 +msgid "Search Show Stock" +msgstr "" + +#: common/models.py:1133 +#, fuzzy +#| msgid "Number of results to show in search preview window" +msgid "Display stock levels in search preview window" +msgstr "搜索预览窗口中显示的结果数" + +#: common/models.py:1139 +#, fuzzy +#| msgid "Create Part" +msgid "Hide Inactive Parts" +msgstr "创建商品" + +#: common/models.py:1140 +#, fuzzy +#| msgid "Number of results to show in search preview window" +msgid "Hide inactive parts in search preview window" +msgstr "搜索预览窗口中显示的结果数" + +#: common/models.py:1146 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1024 +#: common/models.py:1147 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1030 +#: common/models.py:1153 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1031 +#: common/models.py:1154 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1088 company/forms.py:43 +#: common/models.py:1160 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1161 +msgid "InvenTree navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1226 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1095 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1369 +#: common/models.py:1233 company/serializers.py:264 +#: company/templates/company/supplier_part.html:256 +#: templates/js/translated/part.js:1508 msgid "Price" msgstr "价格" -#: common/models.py:1096 +#: common/models.py:1234 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1189 -msgid "Default" -msgstr "默认" - -#: common/templates/common/edit_setting.html:11 -msgid "Current value" -msgstr "当前数值" - -#: common/views.py:33 -msgid "Change Setting" -msgstr "更改设置" - -#: common/views.py:119 -msgid "Supplied value is not allowed" -msgstr "提供的值不被允许" - -#: common/views.py:128 -msgid "Supplied value must be a boolean" -msgstr "提供的值必须为布尔值" - -#: common/views.py:138 -msgid "Change User Setting" -msgstr "更改用户设置" - -#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 -#: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 -#: part/templates/part/bom_upload/upload_file.html:65 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 -#: part/views.py:882 +#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:289 +#: part/templates/part/bom_upload/upload_file.html:51 +#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281 +#: part/views.py:923 msgid "Upload File" msgstr "上传文件" -#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 +#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 -#: part/views.py:883 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282 +#: part/views.py:924 msgid "Match Fields" msgstr "匹配字段" -#: common/views.py:215 +#: common/views.py:95 msgid "Match Items" msgstr "匹配项" -#: common/views.py:560 +#: common/views.py:440 msgid "Fields matching failed" msgstr "字段匹配失败" -#: common/views.py:615 +#: common/views.py:495 msgid "Parts imported" msgstr "已导入商品" -#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 -#: order/templates/order/order_wizard/po_upload.html:40 +#: order/templates/order/order_wizard/po_upload.html:46 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:63 +#: part/templates/part/bom_upload/upload_file.html:49 #: part/templates/part/import_wizard/match_fields.html:27 #: part/templates/part/import_wizard/match_references.html:19 -#: part/templates/part/import_wizard/part_upload.html:43 +#: part/templates/part/import_wizard/part_upload.html:44 msgid "Previous Step" msgstr "" @@ -2321,6 +2276,7 @@ msgid "Contact phone number" msgstr "联系电话" #: company/models.py:125 company/templates/company/company_base.html:102 +#: templates/InvenTree/settings/user.html:46 msgid "Email" msgstr "电子邮件" @@ -2337,10 +2293,10 @@ msgid "Point of contact" msgstr "" #: company/models.py:131 company/models.py:348 company/models.py:564 -#: order/models.py:160 part/models.py:715 +#: order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:536 -#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:984 msgid "Link" msgstr "链接" @@ -2348,7 +2304,7 @@ msgstr "链接" msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:139 part/models.py:725 +#: company/models.py:139 part/models.py:807 msgid "Image" msgstr "图片" @@ -2376,8 +2332,8 @@ msgstr "是制造商" msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:152 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:158 +#: company/models.py:152 company/serializers.py:270 +#: company/templates/company/company_base.html:76 stock/serializers.py:172 msgid "Currency" msgstr "货币" @@ -2385,8 +2341,8 @@ msgstr "货币" msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:320 company/models.py:535 stock/models.py:454 -#: stock/templates/stock/item_base.html:237 +#: company/models.py:320 company/models.py:535 stock/models.py:484 +#: stock/templates/stock/item_base.html:224 msgid "Base Part" msgstr "" @@ -2395,28 +2351,28 @@ msgid "Select part" msgstr "选择商品" #: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:89 -#: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:247 stock/templates/stock/item_base.html:366 +#: company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:104 +#: stock/templates/stock/item_base.html:353 #: templates/js/translated/company.js:332 #: templates/js/translated/company.js:513 -#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:228 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:336 templates/js/translated/part.js:228 +#: company/models.py:336 templates/js/translated/part.js:229 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:342 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:248 templates/js/translated/company.js:529 -#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 -#: templates/js/translated/part.js:238 +#: company/models.py:342 company/templates/company/manufacturer_part.html:97 +#: company/templates/company/supplier_part.html:112 +#: templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:852 +#: templates/js/translated/part.js:239 msgid "MPN" msgstr "MPN" -#: company/models.py:343 templates/js/translated/part.js:239 +#: company/models.py:343 templates/js/translated/part.js:240 msgid "Manufacturer Part Number" msgstr "制造商商品编号" @@ -2431,7 +2387,7 @@ msgstr "制造商商品描述" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:376 +#: stock/templates/stock/item_base.html:363 msgid "Manufacturer Part" msgstr "制造商商品" @@ -2440,10 +2396,9 @@ msgid "Parameter name" msgstr "参数名称" #: company/models.py:422 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 -#: templates/js/translated/stock.js:555 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:1867 templates/js/translated/company.js:643 +#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848 msgid "Value" msgstr "数值" @@ -2451,8 +2406,9 @@ msgstr "数值" msgid "Parameter value" msgstr "参数值" -#: company/models.py:429 part/models.py:800 part/models.py:2224 -#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 +#: company/models.py:429 part/models.py:882 part/models.py:2397 +#: part/templates/part/detail.html:59 templates/js/translated/company.js:649 +#: templates/js/translated/part.js:650 msgid "Units" msgstr "单位" @@ -2465,27 +2421,27 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:88 order/models.py:260 -#: order/templates/order/order_base.html:92 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:292 stock/templates/stock/item_base.html:383 +#: company/templates/company/supplier_part.html:94 order/models.py:263 +#: order/templates/order/order_base.html:108 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 +#: part/bom.py:247 stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 -#: templates/js/translated/part.js:208 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:660 +#: templates/js/translated/part.js:209 msgid "Supplier" msgstr "供应商" -#: company/models.py:546 templates/js/translated/part.js:209 +#: company/models.py:546 templates/js/translated/part.js:210 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:551 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 -#: templates/js/translated/part.js:219 +#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839 +#: templates/js/translated/part.js:220 msgid "SKU" msgstr "SKU" -#: company/models.py:552 templates/js/translated/part.js:220 +#: company/models.py:552 templates/js/translated/part.js:221 msgid "Supplier stock keeping unit" msgstr "" @@ -2501,23 +2457,23 @@ msgstr "外部供货商商品链接URL" msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:576 company/templates/company/supplier_part.html:120 -#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "备注" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "base cost" msgstr "" -#: company/models.py:580 part/models.py:1603 +#: company/models.py:580 part/models.py:1748 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:582 company/templates/company/supplier_part.html:113 -#: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 +#: company/models.py:582 company/templates/company/supplier_part.html:119 +#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336 msgid "Packaging" msgstr "打包" @@ -2525,7 +2481,7 @@ msgstr "打包" msgid "Part packaging" msgstr "商品打包" -#: company/models.py:584 part/models.py:1605 +#: company/models.py:584 part/models.py:1750 msgid "multiple" msgstr "" @@ -2533,47 +2489,43 @@ msgstr "" msgid "Order multiple" msgstr "" -#: company/serializers.py:68 +#: company/serializers.py:70 msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" -#: company/serializers.py:69 +#: company/serializers.py:71 msgid "Currency Code" msgstr "货币代码" -#: company/templates/company/company_base.html:9 -#: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 +#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321 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 "从 URL 下载图片" - -#: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:120 +#: company/templates/company/company_base.html:22 +#: templates/js/translated/order.js:121 msgid "Create Purchase Order" msgstr "创建采购订单" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:27 msgid "Edit company information" msgstr "编辑公司信息" -#: company/templates/company/company_base.html:56 -#: company/templates/company/company_base.html:153 +#: company/templates/company/company_base.html:32 +#: company/templates/company/company_base.html:148 msgid "Delete Company" msgstr "删除该公司" -#: company/templates/company/company_base.html:64 -msgid "Company Details" -msgstr "公司详细信息" +#: company/templates/company/company_base.html:48 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "上传新图片" + +#: company/templates/company/company_base.html:51 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" +msgstr "从 URL 下载图片" #: company/templates/company/company_base.html:81 msgid "Uses default currency" @@ -2583,145 +2535,133 @@ msgstr "使用默认货币" msgid "Phone" msgstr "电话" -#: company/templates/company/company_base.html:126 order/models.py:558 -#: order/templates/order/sales_order_base.html:99 stock/models.py:496 -#: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 -#: templates/js/translated/stock.js:1587 +#: company/templates/company/company_base.html:126 order/models.py:567 +#: order/templates/order/sales_order_base.html:114 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051 +#: templates/js/translated/stock.js:1972 msgid "Customer" msgstr "客户" -#: company/templates/company/company_base.html:199 -#: part/templates/part/part_base.html:424 +#: company/templates/company/company_base.html:194 +#: part/templates/part/part_base.html:342 msgid "Upload Image" msgstr "上传图片" -#: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:150 +#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124 msgid "Supplier Parts" msgstr "供应商商品" -#: company/templates/company/detail.html:22 +#: company/templates/company/detail.html:19 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" msgstr "创建新的供应商商品" -#: company/templates/company/detail.html:23 -#: company/templates/company/manufacturer_part.html:109 -#: part/templates/part/detail.html:289 +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:112 +#: part/templates/part/detail.html:466 msgid "New Supplier Part" msgstr "新建供应商商品" -#: company/templates/company/detail.html:27 -#: company/templates/company/detail.html:67 -#: company/templates/company/manufacturer_part.html:112 -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/category.html:135 part/templates/part/detail.html:292 -#: part/templates/part/detail.html:315 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:79 +#: company/templates/company/manufacturer_part.html:121 +#: company/templates/company/manufacturer_part.html:150 +#: part/templates/part/category.html:160 part/templates/part/detail.html:475 +#: part/templates/part/detail.html:503 msgid "Options" msgstr "选项" -#: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 -#: part/templates/part/category.html:140 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:84 +#: part/templates/part/category.html:166 msgid "Order parts" msgstr "订购商品" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "删除商品" -#: company/templates/company/detail.html:35 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "删除商品" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" msgstr "制造商商品" -#: company/templates/company/detail.html:62 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:493 msgid "New Manufacturer Part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:93 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "供货商库存" -#: company/templates/company/detail.html:102 -#: company/templates/company/navbar.html:46 -#: company/templates/company/navbar.html:49 +#: company/templates/company/detail.html:117 +#: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 -#: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 -#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:229 -#: templates/InvenTree/settings/navbar.html:119 -#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252 +#: templates/InvenTree/search.html:203 templates/navbar.html:45 #: users/models.py:45 msgid "Purchase Orders" msgstr "采购订单" -#: company/templates/company/detail.html:108 -#: order/templates/order/purchase_orders.html:20 +#: company/templates/company/detail.html:121 +#: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "新建采购订单" -#: company/templates/company/detail.html:109 -#: order/templates/order/purchase_orders.html:21 +#: company/templates/company/detail.html:122 +#: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "新建采购订单" -#: company/templates/company/detail.html:124 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 +#: company/templates/company/detail.html:143 +#: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 -#: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 -#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:249 -#: templates/InvenTree/settings/navbar.html:125 -#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283 +#: templates/InvenTree/search.html:223 templates/navbar.html:56 #: users/models.py:46 msgid "Sales Orders" msgstr "销售订单" -#: company/templates/company/detail.html:130 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "新建销售订单" -#: company/templates/company/detail.html:131 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "新建销售订单" -#: company/templates/company/detail.html:147 -#: company/templates/company/navbar.html:61 -#: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:622 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:999 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:165 +#: company/templates/company/detail.html:184 msgid "Company Notes" msgstr "公司备注" -#: company/templates/company/detail.html:364 -#: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:357 +#: company/templates/company/detail.html:383 +#: company/templates/company/manufacturer_part.html:209 +#: part/templates/part/detail.html:546 msgid "Delete Supplier Parts?" msgstr "删除供应商商品?" -#: company/templates/company/detail.html:365 -#: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:358 +#: company/templates/company/detail.html:384 +#: company/templates/company/manufacturer_part.html:210 +#: part/templates/part/detail.html:547 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" @@ -2729,204 +2669,174 @@ msgstr "删除所有选定的供应商商品" msgid "Supplier List" msgstr "供应商列表" -#: company/templates/company/manufacturer_part.html:40 -#: company/templates/company/supplier_part.html:40 -#: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 +#: company/templates/company/manufacturer_part.html:14 company/views.py:55 +#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 +#: templates/navbar.html:44 +msgid "Manufacturers" +msgstr "制造商" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:34 +#: company/templates/company/supplier_part.html:159 +#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 msgid "Order part" msgstr "订购商品" -#: company/templates/company/manufacturer_part.html:45 +#: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "编辑制造商商品" -#: company/templates/company/manufacturer_part.html:49 +#: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "删除生产商商品" -#: company/templates/company/manufacturer_part.html:61 -msgid "Manufacturer Part Details" -msgstr "制造商商品详细信息" - -#: company/templates/company/manufacturer_part.html:66 -#: company/templates/company/supplier_part.html:65 +#: company/templates/company/manufacturer_part.html:70 +#: company/templates/company/supplier_part.html:71 msgid "Internal Part" msgstr "内部商品" -#: company/templates/company/manufacturer_part.html:103 -#: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:75 -#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:220 templates/navbar.html:41 +#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/supplier_part.html:15 company/views.py:49 +#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194 +#: templates/navbar.html:43 msgid "Suppliers" msgstr "供应商" -#: company/templates/company/manufacturer_part.html:114 -#: part/templates/part/detail.html:294 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:477 msgid "Delete supplier parts" msgstr "删除供应商商品" -#: company/templates/company/manufacturer_part.html:114 -#: company/templates/company/manufacturer_part.html:138 -#: company/templates/company/manufacturer_part.html:239 -#: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:199 +#: company/templates/company/manufacturer_part.html:123 +#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:248 +#: part/templates/part/detail.html:351 part/templates/part/detail.html:477 +#: part/templates/part/detail.html:505 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:204 msgid "Delete" msgstr "删除" -#: company/templates/company/manufacturer_part.html:127 -#: company/templates/company/manufacturer_part_navbar.html:11 -#: company/templates/company/manufacturer_part_navbar.html:14 -#: part/templates/part/category_navbar.html:38 -#: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 -#: part/templates/part/navbar.html:23 +#: company/templates/company/manufacturer_part.html:137 +#: part/templates/part/detail.html:277 msgid "Parameters" msgstr "参数" -#: company/templates/company/manufacturer_part.html:133 -#: part/templates/part/detail.html:162 -#: templates/InvenTree/settings/category.html:26 -#: templates/InvenTree/settings/part.html:63 +#: company/templates/company/manufacturer_part.html:141 +#: part/templates/part/detail.html:282 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "新建参数" -#: company/templates/company/manufacturer_part.html:138 +#: company/templates/company/manufacturer_part.html:152 msgid "Delete parameters" msgstr "删除参数" -#: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:805 +#: company/templates/company/manufacturer_part.html:185 +#: part/templates/part/detail.html:983 msgid "Add Parameter" msgstr "添加参数" -#: company/templates/company/manufacturer_part.html:224 +#: company/templates/company/manufacturer_part.html:233 msgid "Selected parameters will be deleted" msgstr "所选参数将被删除" -#: company/templates/company/manufacturer_part.html:236 +#: company/templates/company/manufacturer_part.html:245 msgid "Delete Parameters" msgstr "删除参数" -#: company/templates/company/manufacturer_part_navbar.html:26 -msgid "Manufacturer Part Stock" -msgstr "制造商商品库存" - -#: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:39 -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:52 -#: 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:150 templates/InvenTree/search.html:182 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 -#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 -#: templates/js/translated/stock.js:829 templates/navbar.html:32 -msgid "Stock" -msgstr "库存" - -#: company/templates/company/manufacturer_part_navbar.html:33 -msgid "Manufacturer Part Orders" -msgstr "制造商商品订单" - -#: company/templates/company/manufacturer_part_navbar.html:36 -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "订单" - -#: company/templates/company/navbar.html:17 -#: company/templates/company/navbar.html:20 -msgid "Manufactured Parts" -msgstr "制造商商品" - -#: company/templates/company/navbar.html:26 -#: company/templates/company/navbar.html:29 -msgid "Supplied Parts" -msgstr "供应商商品" - -#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 -#: stock/templates/stock/location.html:119 -#: stock/templates/stock/location.html:134 -#: stock/templates/stock/location.html:148 -#: stock/templates/stock/location_navbar.html:18 -#: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 -msgid "Stock Items" -msgstr "库存项" - #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:463 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 +#: company/templates/company/supplier_part.html:24 stock/models.py:492 +#: stock/templates/stock/item_base.html:375 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293 msgid "Supplier Part" msgstr "供应商商品" -#: company/templates/company/supplier_part.html:44 +#: company/templates/company/supplier_part.html:38 #: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: company/templates/company/supplier_part.html:48 +#: company/templates/company/supplier_part.html:42 #: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "删除供应商商品" -#: company/templates/company/supplier_part.html:60 -msgid "Supplier Part Details" -msgstr "供应商商品详细信息" - -#: company/templates/company/supplier_part.html:131 +#: company/templates/company/supplier_part.html:138 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "供货商商品库存" -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:141 +#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#, fuzzy +#| msgid "Create new stock location" +msgid "Create new stock item" +msgstr "新建仓储地点" + +#: company/templates/company/supplier_part.html:142 +#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: templates/js/translated/stock.js:324 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:155 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "供应商商品订单" -#: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:56 +#: company/templates/company/supplier_part.html:160 +#: part/templates/part/detail.html:175 msgid "Order Part" msgstr "订购商品" -#: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 +#: company/templates/company/supplier_part.html:179 +#: part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "价格信息" -#: company/templates/company/supplier_part.html:164 -#: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:271 part/views.py:1730 +#: company/templates/company/supplier_part.html:184 +#: company/templates/company/supplier_part.html:290 +#: part/templates/part/prices.html:271 part/views.py:1782 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:185 +#: company/templates/company/supplier_part.html:210 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1792 +#: company/templates/company/supplier_part.html:224 part/views.py:1844 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1778 +#: company/templates/company/supplier_part.html:238 part/views.py:1830 msgid "Edit Price Break" msgstr "" -#: company/templates/company/supplier_part.html:238 +#: company/templates/company/supplier_part.html:263 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part.html:239 +#: company/templates/company/supplier_part.html:264 msgid "Delete price break" msgstr "" +#: company/templates/company/supplier_part_navbar.html:15 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:786 +#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:1132 templates/navbar.html:26 +msgid "Stock" +msgstr "库存" + +#: company/templates/company/supplier_part_navbar.html:22 +msgid "Orders" +msgstr "订单" + #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" msgstr "供应商商品价格" @@ -2939,17 +2849,12 @@ msgstr "定价" msgid "New Supplier" msgstr "新增供应商" -#: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:210 templates/navbar.html:42 -msgid "Manufacturers" -msgstr "制造商" - #: company/views.py:56 msgid "New Manufacturer" msgstr "新建制造商" -#: company/views.py:61 templates/InvenTree/search.html:240 -#: templates/navbar.html:53 +#: company/views.py:61 templates/InvenTree/search.html:214 +#: templates/navbar.html:55 msgid "Customers" msgstr "客户信息" @@ -2965,24 +2870,24 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: company/views.py:129 part/views.py:608 +#: company/views.py:129 part/views.py:649 msgid "Download Image" msgstr "下载图片" -#: company/views.py:158 part/views.py:640 +#: company/views.py:158 part/views.py:681 msgid "Image size exceeds maximum allowable size for download" msgstr "图像大小超过下载允许的最大尺寸" -#: company/views.py:165 part/views.py:647 +#: company/views.py:165 part/views.py:688 #, python-brace-format msgid "Invalid response: {code}" msgstr "无效响应: {code}" -#: company/views.py:174 part/views.py:656 +#: company/views.py:174 part/views.py:697 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: label/api.py:57 report/api.py:201 +#: label/api.py:57 report/api.py:203 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" @@ -2994,7 +2899,7 @@ msgstr "标签名称" msgid "Label description" msgstr "标签说明" -#: label/models.py:127 stock/forms.py:167 +#: label/models.py:127 msgid "Label" msgstr "标签" @@ -3039,7 +2944,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:322 report/models.py:457 report/models.py:495 +#: report/models.py:322 report/models.py:459 report/models.py:497 msgid "Filters" msgstr "筛选器" @@ -3051,240 +2956,236 @@ msgstr "查询筛选器 (逗号分隔的键值对列表" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/api.py:250 -msgid "Matching purchase order does not exist" -msgstr "" - -#: order/forms.py:27 order/templates/order/order_base.html:50 +#: order/forms.py:26 order/templates/order/order_base.html:52 msgid "Place order" msgstr "" -#: order/forms.py:38 order/templates/order/order_base.html:57 +#: order/forms.py:37 order/templates/order/order_base.html:59 msgid "Mark order as complete" msgstr "" -#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 -#: order/templates/order/sales_order_base.html:64 +#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "取消订单" -#: order/forms.py:71 order/templates/order/sales_order_base.html:61 +#: order/forms.py:70 msgid "Ship order" msgstr "" -#: order/forms.py:97 +#: order/forms.py:98 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:103 +#: order/forms.py:104 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:158 +#: order/models.py:161 msgid "Order description" msgstr "" -#: order/models.py:160 +#: order/models.py:163 msgid "Link to external page" msgstr "" -#: order/models.py:168 +#: order/models.py:171 msgid "Created By" msgstr "" -#: order/models.py:175 +#: order/models.py:178 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:180 +#: order/models.py:183 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:548 +#: order/models.py:250 order/models.py:557 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:563 +#: order/models.py:255 order/models.py:572 msgid "Purchase order status" msgstr "" -#: order/models.py:261 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:668 +#: order/models.py:267 order/templates/order/order_base.html:114 +#: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:271 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:276 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:277 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:282 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:283 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:289 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:318 +#: order/models.py:321 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:428 +#: order/models.py:431 msgid "Quantity must be an integer" msgstr "数量必须是整数" -#: order/models.py:432 +#: order/models.py:435 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:559 +#: order/models.py:568 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer Reference " msgstr "" -#: order/models.py:565 +#: order/models.py:574 msgid "Customer order reference code" msgstr "" -#: order/models.py:570 +#: order/models.py:579 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:573 templates/js/translated/order.js:1079 +#: order/models.py:582 templates/js/translated/order.js:1092 msgid "Shipment Date" msgstr "" -#: order/models.py:580 +#: order/models.py:589 msgid "shipped by" msgstr "" -#: order/models.py:624 +#: order/models.py:633 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:721 +#: order/models.py:730 msgid "Item quantity" msgstr "" -#: order/models.py:727 +#: order/models.py:736 msgid "Line item reference" msgstr "" -#: order/models.py:729 +#: order/models.py:738 msgid "Line item notes" msgstr "" -#: order/models.py:759 order/models.py:847 -#: templates/js/translated/order.js:1131 +#: order/models.py:768 order/models.py:856 +#: templates/js/translated/order.js:1144 msgid "Order" msgstr "" -#: order/models.py:760 order/templates/order/order_base.html:9 -#: order/templates/order/order_base.html:24 +#: order/models.py:769 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 -#: templates/js/translated/stock.js:1568 +#: stock/templates/stock/item_base.html:325 +#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270 +#: templates/js/translated/stock.js:1953 msgid "Purchase Order" msgstr "" -#: order/models.py:781 +#: order/models.py:790 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:788 order/templates/order/order_base.html:131 -#: order/templates/order/sales_order_base.html:138 -#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 +#: order/models.py:797 order/templates/order/order_base.html:147 +#: order/templates/order/sales_order_base.html:154 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:932 msgid "Received" msgstr "" -#: order/models.py:789 +#: order/models.py:798 msgid "Number of items received" msgstr "" -#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1024 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1324 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:797 +#: order/models.py:806 msgid "Unit purchase price" msgstr "" -#: order/models.py:805 +#: order/models.py:814 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:857 part/templates/part/part_pricing.html:112 +#: order/models.py:866 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:858 +#: order/models.py:867 msgid "Unit sale price" msgstr "" -#: order/models.py:937 order/models.py:939 +#: order/models.py:946 order/models.py:948 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:943 +#: order/models.py:952 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:945 +#: order/models.py:954 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:948 +#: order/models.py:957 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:952 +#: order/models.py:961 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:958 +#: order/models.py:967 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:966 +#: order/models.py:975 msgid "Line" msgstr "" -#: order/models.py:978 +#: order/models.py:987 msgid "Item" msgstr "" -#: order/models.py:979 +#: order/models.py:988 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:982 +#: order/models.py:991 msgid "Enter stock allocation quantity" msgstr "" @@ -3300,7 +3201,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:218 order/serializers.py:285 +#: order/serializers.py:218 order/serializers.py:286 msgid "Select destination location for received items" msgstr "" @@ -3312,72 +3213,76 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:259 +#: order/serializers.py:260 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:297 +#: order/serializers.py:298 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:314 +#: order/serializers.py:315 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:325 +#: order/serializers.py:326 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:568 msgid "Sale price currency" 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:50 -msgid "Print" -msgstr "" +#: order/templates/order/order_base.html:33 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Print purchase order report" +msgstr "打印订单报表" -#: order/templates/order/order_base.html:42 -#: order/templates/order/sales_order_base.html:53 +#: order/templates/order/order_base.html:35 +#: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/sales_order_base.html:57 -msgid "Edit order information" -msgstr "" +#: order/templates/order/order_base.html:41 +#: order/templates/order/sales_order_base.html:54 +#, fuzzy +#| msgid "Order Parts" +msgid "Order actions" +msgstr "订购商品" -#: order/templates/order/order_base.html:54 +#: order/templates/order/order_base.html:45 +#: order/templates/order/sales_order_base.html:58 +#, fuzzy +#| msgid "Edit Notes" +msgid "Edit order" +msgstr "编辑备注" + +#: order/templates/order/order_base.html:56 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:72 -#: order/templates/order/po_navbar.html:12 -msgid "Purchase Order Details" -msgstr "" - -#: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/order_base.html:93 +#: order/templates/order/sales_order_base.html:98 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:103 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:117 +#: order/templates/order/order_base.html:133 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:185 +#: order/templates/order/order_base.html:203 msgid "Edit Purchase Order" msgstr "" @@ -3453,7 +3358,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 +#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:377 msgid "Remove row" msgstr "移除行" @@ -3475,19 +3381,19 @@ msgstr "行" msgid "Select Supplier Part" msgstr "选择供应商商品" -#: order/templates/order/order_wizard/po_upload.html:11 +#: order/templates/order/order_wizard/po_upload.html:16 msgid "Upload File for Purchase Order" msgstr "" -#: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:34 +#: order/templates/order/order_wizard/po_upload.html:24 +#: part/templates/part/bom_upload/upload_file.html:20 #: part/templates/part/import_wizard/ajax_part_upload.html:10 -#: part/templates/part/import_wizard/part_upload.html:21 +#: part/templates/part/import_wizard/part_upload.html:22 #, python-format msgid "Step %(step)s of %(count)s" msgstr "步骤 %(step)s / %(count)s" -#: order/templates/order/order_wizard/po_upload.html:48 +#: order/templates/order/order_wizard/po_upload.html:54 msgid "Order is already processed. Files cannot be uploaded." msgstr "" @@ -3530,7 +3436,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097 msgid "Items" msgstr "" @@ -3548,30 +3454,14 @@ msgstr "" msgid "Select a purchase order for %(name)s" msgstr "" -#: order/templates/order/po_attachments.html:12 -#: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:56 -msgid "Purchase Order Attachments" -msgstr "" - -#: order/templates/order/po_navbar.html:26 -msgid "Received Stock Items" -msgstr "" - -#: order/templates/order/po_navbar.html:29 -#: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:47 -msgid "Received Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/purchase_order_detail.html:212 +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/purchase_order_detail.html:216 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:177 +#: order/templates/order/sales_order_detail.html:191 msgid "Add Line Item" msgstr "" @@ -3583,34 +3473,47 @@ msgstr "" msgid "Receive Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:67 -#: order/templates/order/sales_order_detail.html:54 +#: order/templates/order/purchase_order_detail.html:50 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/sales_order_detail.html:68 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_orders.html:24 -#: order/templates/order/sales_orders.html:24 +#: order/templates/order/purchase_orders.html:30 +#: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" msgstr "打印订单报表" -#: order/templates/order/sales_order_base.html:16 +#: order/templates/order/sales_order_base.html:43 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Print sales order report" +msgstr "打印订单报表" + +#: order/templates/order/sales_order_base.html:47 +#, fuzzy +#| msgid "Print actions" +msgid "Print packing list" +msgstr "打印操作" + +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 order/views.py:222 +msgid "Ship Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:86 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:70 -msgid "Packing List" -msgstr "" - -#: order/templates/order/sales_order_base.html:79 -msgid "Sales Order Details" -msgstr "" - -#: order/templates/order/sales_order_base.html:105 -#: templates/js/translated/order.js:1051 +#: order/templates/order/sales_order_base.html:121 +#: templates/js/translated/order.js:1064 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:194 msgid "Edit Sales Order" msgstr "" @@ -3625,7 +3528,7 @@ msgstr "警告" msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -3653,18 +3556,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_navbar.html:12 -msgid "Sales Order Line Items" -msgstr "" - -#: order/templates/order/so_navbar.html:15 -msgid "Order Items" -msgstr "" - -#: order/templates/order/so_navbar.html:26 -msgid "Sales Order Attachments" -msgstr "" - #: order/views.py:103 msgid "Cancel Order" msgstr "取消订单" @@ -3705,10 +3596,6 @@ msgstr "" msgid "Purchase order completed" msgstr "" -#: order/views.py:222 -msgid "Ship Order" -msgstr "" - #: order/views.py:238 msgid "Confirm order shipment" msgstr "" @@ -3776,40 +3663,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:1165 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "商品" - -#: part/api.py:700 +#: part/api.py:731 msgid "Must be greater than zero" msgstr "必须大于0" -#: part/api.py:704 +#: part/api.py:735 msgid "Must be a valid quantity" msgstr "必须是有效的数量" -#: part/api.py:719 +#: part/api.py:750 msgid "Specify location for initial part stock" msgstr "指定初始初始商品仓储地点" -#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804 msgid "This field is required" msgstr "此字段为必填" -#: part/bom.py:133 part/models.py:76 part/models.py:734 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +#: part/bom.py:125 part/models.py:81 part/models.py:816 +#: part/templates/part/category.html:90 part/templates/part/detail.html:104 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:134 part/templates/part/part_base.html:156 +#: part/bom.py:126 part/templates/part/part_base.html:167 msgid "Available Stock" msgstr "可用库存" @@ -3869,7 +3744,7 @@ msgstr "包含供应商数据" msgid "Include part supplier data in exported BOM" msgstr "在导出 BOM 中包含供应商数据" -#: part/forms.py:96 part/models.py:2254 +#: part/forms.py:96 part/models.py:2427 msgid "Parent Part" msgstr "" @@ -3901,456 +3776,469 @@ msgstr "" msgid "Select part category" msgstr "选择类别" -#: part/forms.py:226 +#: part/forms.py:214 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:230 +#: part/forms.py:218 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:250 +#: part/forms.py:238 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:77 +#: part/models.py:82 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords" msgstr "" -#: part/models.py:80 +#: part/models.py:85 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:90 part/models.py:2300 +#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:91 part/templates/part/category.html:32 -#: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:40 +#: part/models.py:96 part/templates/part/category.html:117 +#: templates/InvenTree/search.html:101 templates/stats.html:84 +#: users/models.py:40 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:384 +#: part/models.py:358 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:13 part/templates/part/category.html:122 +#: part/templates/part/category.html:142 templates/InvenTree/index.html:85 +#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304 +#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89 +#: users/models.py:41 +msgid "Parts" +msgstr "商品" + +#: part/models.py:450 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:436 part/models.py:448 +#: part/models.py:502 part/models.py:514 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:545 +#: part/models.py:611 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:549 +#: part/models.py:615 msgid "Next available serial number is" msgstr "" -#: part/models.py:554 +#: part/models.py:620 msgid "Most recent serial number is" msgstr "" -#: part/models.py:633 +#: part/models.py:715 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:658 +#: part/models.py:740 msgid "Part name" msgstr "商品名称" -#: part/models.py:665 +#: part/models.py:747 msgid "Is Template" msgstr "" -#: part/models.py:666 +#: part/models.py:748 msgid "Is this part a template part?" msgstr "" -#: part/models.py:676 +#: part/models.py:758 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:677 +#: part/models.py:759 msgid "Variant Of" msgstr "" -#: part/models.py:683 +#: part/models.py:765 msgid "Part description" msgstr "商品描述" -#: part/models.py:688 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:259 +#: part/models.py:770 part/templates/part/category.html:97 +#: part/templates/part/detail.html:73 msgid "Keywords" msgstr "关键词" -#: part/models.py:689 +#: part/models.py:771 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:696 part/models.py:2299 -#: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:169 -#: templates/js/translated/part.js:927 +#: part/models.py:778 part/models.py:2223 part/models.py:2472 +#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: templates/InvenTree/settings/settings.html:163 +#: templates/js/translated/part.js:928 msgid "Category" msgstr "类别" -#: part/models.py:697 +#: part/models.py:779 msgid "Part category" msgstr "商品类别" -#: part/models.py:702 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 +#: part/models.py:784 part/templates/part/detail.html:45 +#: templates/js/translated/part.js:549 msgid "IPN" msgstr "" -#: part/models.py:703 +#: part/models.py:785 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:709 +#: part/models.py:791 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:710 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:532 +#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 +#: templates/js/translated/part.js:553 msgid "Revision" msgstr "" -#: part/models.py:732 +#: part/models.py:814 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:779 part/templates/part/part_base.html:297 +#: part/models.py:861 part/templates/part/detail.html:113 msgid "Default Supplier" msgstr "" -#: part/models.py:780 +#: part/models.py:862 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:787 +#: part/models.py:869 msgid "Default Expiry" msgstr "" -#: part/models.py:788 +#: part/models.py:870 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:793 +#: part/models.py:875 part/templates/part/part_base.html:178 msgid "Minimum Stock" msgstr "最低库存" -#: part/models.py:794 +#: part/models.py:876 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:801 +#: part/models.py:883 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:807 +#: part/models.py:889 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:813 +#: part/models.py:895 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:819 +#: part/models.py:901 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:824 +#: part/models.py:906 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:829 +#: part/models.py:911 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:833 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:82 -#: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:346 +#: part/models.py:915 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:90 +#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:362 msgid "Active" msgstr "" -#: part/models.py:834 +#: part/models.py:916 msgid "Is this part active?" msgstr "" -#: part/models.py:839 +#: part/models.py:921 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:844 +#: part/models.py:926 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:929 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:850 +#: part/models.py:932 msgid "BOM checked by" msgstr "" -#: part/models.py:852 +#: part/models.py:934 msgid "BOM checked date" msgstr "" -#: part/models.py:856 +#: part/models.py:938 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1605 +#: part/models.py:1750 msgid "Sell multiple" msgstr "" -#: part/models.py:2100 +#: part/models.py:2273 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2117 +#: part/models.py:2290 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2137 templates/js/translated/part.js:1216 -#: templates/js/translated/stock.js:535 +#: part/models.py:2310 templates/js/translated/part.js:1355 +#: templates/js/translated/stock.js:828 msgid "Test Name" msgstr "" -#: part/models.py:2138 +#: part/models.py:2311 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2143 +#: part/models.py:2316 msgid "Test Description" msgstr "" -#: part/models.py:2144 +#: part/models.py:2317 msgid "Enter description for this test" msgstr "" -#: part/models.py:2149 templates/js/translated/part.js:1225 -#: templates/js/translated/table_filters.js:254 +#: part/models.py:2322 templates/js/translated/part.js:1364 +#: templates/js/translated/table_filters.js:270 msgid "Required" msgstr "" -#: part/models.py:2150 +#: part/models.py:2323 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2155 templates/js/translated/part.js:1233 +#: part/models.py:2328 templates/js/translated/part.js:1372 msgid "Requires Value" msgstr "" -#: part/models.py:2156 +#: part/models.py:2329 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2161 templates/js/translated/part.js:1240 +#: part/models.py:2334 templates/js/translated/part.js:1379 msgid "Requires Attachment" msgstr "" -#: part/models.py:2162 +#: part/models.py:2335 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2173 +#: part/models.py:2346 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2209 +#: part/models.py:2382 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2217 +#: part/models.py:2390 msgid "Parameter Name" msgstr "" -#: part/models.py:2224 +#: part/models.py:2397 msgid "Parameter Units" msgstr "" -#: part/models.py:2256 part/models.py:2305 part/models.py:2306 -#: templates/InvenTree/settings/settings.html:164 +#: part/models.py:2429 part/models.py:2478 part/models.py:2479 +#: templates/InvenTree/settings/settings.html:158 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Data" msgstr "" -#: part/models.py:2258 +#: part/models.py:2431 msgid "Parameter Value" msgstr "" -#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 +#: part/models.py:2483 templates/InvenTree/settings/settings.html:167 msgid "Default Value" msgstr "默认值" -#: part/models.py:2311 +#: part/models.py:2484 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2362 +#: part/models.py:2561 msgid "Select parent part" msgstr "" -#: part/models.py:2370 +#: part/models.py:2569 msgid "Sub part" msgstr "" -#: part/models.py:2371 +#: part/models.py:2570 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2377 +#: part/models.py:2576 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2379 templates/js/translated/bom.js:275 -#: templates/js/translated/bom.js:335 +#: part/models.py:2578 templates/js/translated/bom.js:452 +#: templates/js/translated/bom.js:526 +#: templates/js/translated/table_filters.js:86 msgid "Optional" msgstr "可选项" -#: part/models.py:2379 +#: part/models.py:2578 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2382 +#: part/models.py:2581 msgid "Overage" msgstr "" -#: part/models.py:2383 +#: part/models.py:2582 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2386 +#: part/models.py:2585 msgid "BOM item reference" msgstr "" -#: part/models.py:2389 +#: part/models.py:2588 msgid "BOM item notes" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "Checksum" msgstr "" -#: part/models.py:2391 +#: part/models.py:2590 msgid "BOM line checksum" msgstr "" -#: part/models.py:2395 templates/js/translated/bom.js:352 -#: templates/js/translated/bom.js:359 +#: part/models.py:2594 templates/js/translated/bom.js:543 +#: templates/js/translated/bom.js:550 #: templates/js/translated/table_filters.js:68 +#: templates/js/translated/table_filters.js:82 msgid "Inherited" msgstr "继承项" -#: part/models.py:2396 +#: part/models.py:2595 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2401 templates/js/translated/bom.js:344 +#: part/models.py:2600 templates/js/translated/bom.js:535 msgid "Allow Variants" msgstr "" -#: part/models.py:2402 +#: part/models.py:2601 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2487 stock/models.py:341 +#: part/models.py:2686 stock/models.py:371 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2496 part/models.py:2498 +#: part/models.py:2695 part/models.py:2697 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2620 +#: part/models.py:2826 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:2848 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:2860 +#, fuzzy +#| msgid "Parent Build" +msgid "Parent BOM item" +msgstr "上级生产" + +#: part/models.py:2868 +#, fuzzy +#| msgid "Supplier part" +msgid "Substitute part" +msgstr "供应商商品" + +#: part/models.py:2879 msgid "Part 1" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Part 2" msgstr "" -#: part/models.py:2624 +#: part/models.py:2883 msgid "Select Related Part" msgstr "" -#: part/models.py:2656 +#: part/models.py:2915 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" +#: part/tasks.py:53 +#, fuzzy +#| msgid "No stock location set" +msgid "Low stock notification" +msgstr "未设置仓储地点" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" -#: part/templates/part/bom.html:14 +#: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" -#: part/templates/part/bom.html:16 +#: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" -#: part/templates/part/bom.html:20 +#: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:27 -msgid "Remove selected BOM items" -msgstr "" - -#: part/templates/part/bom.html:30 -msgid "Import BOM data" -msgstr "" +#: part/templates/part/bom.html:30 part/templates/part/detail.html:383 +#, fuzzy +#| msgid "Build actions" +msgid "BOM actions" +msgstr "生产操作" #: part/templates/part/bom.html:34 -msgid "Copy BOM from parent part" -msgstr "" - -#: part/templates/part/bom.html:38 -msgid "New BOM Item" -msgstr "" - -#: part/templates/part/bom.html:41 -msgid "Finish Editing" -msgstr "" - -#: part/templates/part/bom.html:46 -msgid "Edit BOM" -msgstr "" - -#: part/templates/part/bom.html:50 -msgid "Validate Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:56 part/views.py:1220 -msgid "Export Bill of Materials" -msgstr "" - -#: part/templates/part/bom.html:59 -msgid "Print BOM Report" -msgstr "" +#, fuzzy +#| msgid "Delete Item" +msgid "Delete Items" +msgstr "删除项" #: part/templates/part/bom_duplicate.html:13 msgid "This part already has a Bill of Materials" @@ -4360,28 +4248,23 @@ msgstr "" msgid "Select Part" msgstr "选择商品" -#: part/templates/part/bom_upload/upload_file.html:13 -#: part/templates/part/bom_upload/upload_file.html:16 -msgid "Return To BOM" -msgstr "" - -#: part/templates/part/bom_upload/upload_file.html:27 +#: part/templates/part/bom_upload/upload_file.html:12 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:46 +#: part/templates/part/bom_upload/upload_file.html:32 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:48 +#: part/templates/part/bom_upload/upload_file.html:34 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:49 +#: part/templates/part/bom_upload/upload_file.html:35 msgid "Each part must already exist in the database" msgstr "每个商品必须已经存在于数据库" @@ -4394,93 +4277,121 @@ msgstr "" msgid "This will validate each line in the BOM." msgstr "" -#: part/templates/part/category.html:33 -msgid "All parts" -msgstr "所有商品" +#: part/templates/part/category.html:24 part/templates/part/category.html:28 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "You are subscribed to notifications for this category" +msgstr "此类别商品的默认仓储地点" + +#: part/templates/part/category.html:32 +#, fuzzy +#| msgid "Default location for parts in this category" +msgid "Subscribe to notifications for this category" +msgstr "此类别商品的默认仓储地点" #: part/templates/part/category.html:38 +#, fuzzy +#| msgid "Category Settings" +msgid "Category Actions" +msgstr "类别设置" + +#: part/templates/part/category.html:43 +#, fuzzy +#| msgid "Edit part category" +msgid "Edit category" +msgstr "编辑商品类别" + +#: part/templates/part/category.html:44 +#, fuzzy +#| msgid "Edit Part Category" +msgid "Edit Category" +msgstr "编辑商品类别" + +#: part/templates/part/category.html:48 +#, fuzzy +#| msgid "Delete part category" +msgid "Delete category" +msgstr "删除类别" + +#: part/templates/part/category.html:49 +#, fuzzy +#| msgid "Select Category" +msgid "Delete Category" +msgstr "选择分类" + +#: part/templates/part/category.html:57 msgid "Create new part category" msgstr "新建商品类别" -#: part/templates/part/category.html:44 -msgid "Edit part category" -msgstr "编辑商品类别" +#: part/templates/part/category.html:58 +#, fuzzy +#| msgid "Set Category" +msgid "New Category" +msgstr "设置类别" -#: part/templates/part/category.html:49 -msgid "Delete part category" -msgstr "删除类别" +#: part/templates/part/category.html:67 +#, fuzzy +#| msgid "top level Parts category" +msgid "Top level part category" +msgstr "顶层商品类别" -#: part/templates/part/category.html:59 part/templates/part/category.html:98 -msgid "Category Details" -msgstr "类别详细信息" - -#: part/templates/part/category.html:64 +#: part/templates/part/category.html:79 msgid "Category Path" msgstr "类别路径" -#: part/templates/part/category.html:69 +#: part/templates/part/category.html:84 msgid "Category Description" msgstr "类别说明" -#: part/templates/part/category.html:88 part/templates/part/category.html:175 -#: part/templates/part/category_navbar.html:14 -#: part/templates/part/category_navbar.html:17 +#: part/templates/part/category.html:103 part/templates/part/category.html:194 msgid "Subcategories" msgstr "子类别" -#: part/templates/part/category.html:93 +#: part/templates/part/category.html:108 msgid "Parts (Including subcategories)" msgstr "商品 (包括子类别)" -#: part/templates/part/category.html:126 +#: part/templates/part/category.html:145 msgid "Export Part Data" msgstr "导出商品数据" -#: part/templates/part/category.html:127 part/templates/part/category.html:142 +#: part/templates/part/category.html:146 part/templates/part/category.html:170 msgid "Export" msgstr "导出" -#: part/templates/part/category.html:130 +#: part/templates/part/category.html:149 msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 +#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 msgid "New Part" msgstr "新商品" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set category" msgstr "设置类别" -#: part/templates/part/category.html:138 +#: part/templates/part/category.html:164 msgid "Set Category" msgstr "设置类别" -#: part/templates/part/category.html:141 +#: part/templates/part/category.html:168 msgid "Print Labels" msgstr "打印标签" -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:170 msgid "Export Data" msgstr "导出数据" -#: part/templates/part/category.html:146 -msgid "View list display" -msgstr "列表视图" - -#: part/templates/part/category.html:149 -msgid "View grid display" -msgstr "网格视图" - -#: part/templates/part/category.html:165 +#: part/templates/part/category.html:184 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:254 +#: part/templates/part/category.html:261 msgid "Create Part Category" msgstr "创建商品类别" -#: part/templates/part/category.html:281 +#: part/templates/part/category.html:288 msgid "Create Part" msgstr "创建商品" @@ -4519,12 +4430,7 @@ msgstr "如果删除此类别,这些商品将移至其父类别 %(path)s" msgid "If this category is deleted, these parts will be moved to the top-level category Teile" msgstr "" -#: part/templates/part/category_navbar.html:29 -#: part/templates/part/category_navbar.html:32 -msgid "Import Parts" -msgstr "导入商品" - -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365 msgid "Duplicate Part" msgstr "复制部件" @@ -4549,311 +4455,325 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 +#, fuzzy +#| msgid "Show Part Details" +msgid "Part Details" +msgstr "显示商品详细信息" + +#: part/templates/part/detail.html:66 +#, fuzzy +#| msgid "Minimum Stock" +msgid "Minimum stock level" +msgstr "最低库存" + +#: part/templates/part/detail.html:97 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/detail.html:124 msgid "Part Stock" msgstr "商品库存" -#: part/templates/part/detail.html:21 +#: part/templates/part/detail.html:136 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 +#: part/templates/part/detail.html:146 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:36 +#: part/templates/part/detail.html:151 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:77 -msgid "New sales order" -msgstr "" - -#: part/templates/part/detail.html:77 -msgid "New Order" -msgstr "" - -#: part/templates/part/detail.html:90 +#: part/templates/part/detail.html:208 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 +#: part/templates/part/detail.html:249 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:137 +#: part/templates/part/detail.html:253 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:138 +#: part/templates/part/detail.html:254 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:161 +#: part/templates/part/detail.html:281 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 -#: part/templates/part/navbar.html:110 +#: part/templates/part/detail.html:315 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:188 +#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 -#: part/templates/part/navbar.html:46 +#: part/templates/part/detail.html:366 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:237 +#: part/templates/part/detail.html:371 +#, fuzzy +#| msgid "Print actions" +msgid "Export actions" +msgstr "打印操作" + +#: part/templates/part/detail.html:375 +#, fuzzy +#| msgid "Export" +msgid "Export BOM" +msgstr "导出" + +#: part/templates/part/detail.html:377 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:387 +#, fuzzy +#| msgid "Upload File" +msgid "Upload BOM" +msgstr "上传文件" + +#: part/templates/part/detail.html:389 templates/js/translated/part.js:266 +msgid "Copy BOM" +msgstr "" + +#: part/templates/part/detail.html:391 part/views.py:820 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:396 +msgid "New BOM Item" +msgstr "" + +#: part/templates/part/detail.html:397 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:410 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:427 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:260 -msgid "Start New Build" -msgstr "" - -#: part/templates/part/detail.html:274 +#: part/templates/part/detail.html:452 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:283 +#: part/templates/part/detail.html:462 msgid "Part Suppliers" msgstr "商品供应商" -#: part/templates/part/detail.html:305 +#: part/templates/part/detail.html:489 msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:317 +#: part/templates/part/detail.html:505 msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:502 +#: part/templates/part/detail.html:686 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:503 +#: part/templates/part/detail.html:687 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:554 +#: part/templates/part/detail.html:738 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:699 +#: part/templates/part/detail.html:876 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:755 +#: part/templates/part/detail.html:933 msgid "Edit Part Notes" msgstr "编辑商品注释" -#: part/templates/part/detail.html:907 +#: part/templates/part/detail.html:1085 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:919 +#: part/templates/part/detail.html:1097 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:931 +#: part/templates/part/detail.html:1109 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1020 +#: part/templates/part/detail.html:1198 #, python-format msgid "Unit Price - %(currency)s" msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 -#: part/templates/part/import_wizard/part_upload.html:51 +#: part/templates/part/import_wizard/part_upload.html:52 msgid "Unsuffitient privileges." msgstr "" -#: part/templates/part/import_wizard/part_upload.html:14 +#: part/templates/part/import_wizard/part_upload.html:15 msgid "Import Parts from File" msgstr "从文件导入商品" -#: part/templates/part/navbar.html:30 -msgid "Variants" -msgstr "" - -#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 -msgid "Used In" -msgstr "" - -#: part/templates/part/navbar.html:70 -msgid "Prices" -msgstr "" - -#: part/templates/part/navbar.html:102 -msgid "Test Templates" -msgstr "" - #: part/templates/part/part_app_base.html:12 msgid "Part List" msgstr "商品列表" +#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 +msgid "You are subscribed to notifications for this part" +msgstr "" + #: part/templates/part/part_base.html:35 -msgid "Part is a template part (variants can be made from this part)" +msgid "Subscribe to notifications for this part" msgstr "" -#: part/templates/part/part_base.html:38 -msgid "Part can be assembled from other parts" -msgstr "商品可以由其他部件组装" - -#: part/templates/part/part_base.html:41 -msgid "Part can be used in assemblies" -msgstr "商品可以用于组装成品" - -#: part/templates/part/part_base.html:44 -msgid "Part stock is tracked by serial number" -msgstr "" - -#: part/templates/part/part_base.html:47 -msgid "Part can be purchased from external suppliers" -msgstr "商品可以从外部供应商处购买" - -#: part/templates/part/part_base.html:50 -msgid "Part can be sold to customers" -msgstr "商品可以销售给客户" - -#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 -msgid "Part is virtual (not a physical part)" -msgstr "商品是虚拟的(不是实体零件)" - -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 -#: templates/js/translated/part.js:520 -msgid "Inactive" -msgstr "" - -#: part/templates/part/part_base.html:73 -msgid "Star this part" -msgstr "标记此商品" - -#: part/templates/part/part_base.html:80 -#: stock/templates/stock/item_base.html:75 -#: stock/templates/stock/location.html:51 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:28 +#: stock/templates/stock/location.html:29 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:82 -#: stock/templates/stock/item_base.html:77 -#: stock/templates/stock/location.html:53 templates/qr_button.html:1 +#: part/templates/part/part_base.html:45 +#: stock/templates/stock/item_base.html:32 +#: stock/templates/stock/location.html:31 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:83 -#: stock/templates/stock/item_base.html:93 -#: stock/templates/stock/location.html:54 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:32 msgid "Print Label" msgstr "打印标签" -#: part/templates/part/part_base.html:89 +#: part/templates/part/part_base.html:51 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:95 -#: stock/templates/stock/item_base.html:142 -#: stock/templates/stock/location.html:62 +#: part/templates/part/part_base.html:56 +#: stock/templates/stock/item_base.html:103 +#: stock/templates/stock/location.html:40 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:102 +#: part/templates/part/part_base.html:63 msgid "Count part stock" msgstr "清点商品库存" -#: part/templates/part/part_base.html:108 +#: part/templates/part/part_base.html:69 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:84 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:128 +#: part/templates/part/part_base.html:87 msgid "Duplicate part" msgstr "重复的商品" -#: part/templates/part/part_base.html:131 +#: part/templates/part/part_base.html:90 msgid "Edit part" msgstr "编辑商品" -#: part/templates/part/part_base.html:134 +#: part/templates/part/part_base.html:93 msgid "Delete part" msgstr "删除商品" -#: part/templates/part/part_base.html:146 +#: part/templates/part/part_base.html:109 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:113 +msgid "Part can be assembled from other parts" +msgstr "商品可以由其他部件组装" + +#: part/templates/part/part_base.html:117 +msgid "Part can be used in assemblies" +msgstr "商品可以用于组装成品" + +#: part/templates/part/part_base.html:121 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:125 +msgid "Part can be purchased from external suppliers" +msgstr "商品可以从外部供应商处购买" + +#: part/templates/part/part_base.html:129 +msgid "Part can be sold to customers" +msgstr "商品可以销售给客户" + +#: part/templates/part/part_base.html:135 +#: part/templates/part/part_base.html:143 +msgid "Part is virtual (not a physical part)" +msgstr "商品是虚拟的(不是实体零件)" + +#: part/templates/part/part_base.html:136 +#: templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 +#: templates/js/translated/model_renderers.js:175 +#: templates/js/translated/part.js:464 templates/js/translated/part.js:541 +msgid "Inactive" +msgstr "" + +#: part/templates/part/part_base.html:155 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:161 -#: templates/js/translated/model_renderers.js:169 -#: templates/js/translated/order.js:1503 -#: templates/js/translated/table_filters.js:166 +#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524 +#: templates/js/translated/table_filters.js:182 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:199 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:188 +#: part/templates/part/part_base.html:206 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 +#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:964 +#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793 +#: templates/js/translated/part.js:965 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:531 -#: part/templates/part/part_base.html:557 -msgid "Show Part Details" -msgstr "显示商品详细信息" - -#: part/templates/part/part_base.html:283 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:445 +#: part/templates/part/part_base.html:363 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:526 -#: part/templates/part/part_base.html:551 -msgid "Hide Part Details" -msgstr "隐藏商品详细信息" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4877,7 +4797,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:327 +#: templates/js/translated/bom.js:518 msgid "No supplier pricing available" msgstr "" @@ -4911,13 +4831,14 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "此商品无价格信息可用。" -#: part/templates/part/part_thumb.html:20 +#: part/templates/part/part_thumb.html:11 msgid "Select from existing images" msgstr "" #: part/templates/part/partial_delete.html:9 #, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +msgid "" +"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" "
Disable the \"Active\" part attribute and re-try.\n" " " msgstr "" @@ -4980,7 +4901,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512 msgid "Supplier Cost" msgstr "" @@ -5002,7 +4923,7 @@ msgstr "" msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:215 part/views.py:1801 +#: part/templates/part/prices.html:215 part/views.py:1853 msgid "Add Internal Price Break" msgstr "" @@ -5022,13 +4943,13 @@ msgstr "" msgid "Set category for the following parts" msgstr "为以下商品设置类别" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 -#: templates/js/translated/model_renderers.js:167 -#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474 +#: templates/js/translated/part.js:428 templates/js/translated/part.js:783 +#: templates/js/translated/part.js:969 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" msgstr "" @@ -5041,135 +4962,140 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:106 +#: part/templatetags/inventree_extras.py:113 msgid "Unknown database" msgstr "" -#: part/views.py:94 +#: part/views.py:95 msgid "Add Related Part" msgstr "" -#: part/views.py:149 +#: part/views.py:150 msgid "Delete Related Part" msgstr "" -#: part/views.py:160 +#: part/views.py:161 msgid "Set Part Category" msgstr "设置商品类别" -#: part/views.py:210 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "为 {n} 个商品设置类别" -#: part/views.py:270 +#: part/views.py:283 msgid "Match References" msgstr "" -#: part/views.py:526 +#: part/views.py:567 msgid "None" msgstr "" -#: part/views.py:585 +#: part/views.py:626 msgid "Part QR Code" msgstr "商品二维码" -#: part/views.py:687 +#: part/views.py:728 msgid "Select Part Image" msgstr "选择商品图像" -#: part/views.py:713 +#: part/views.py:754 msgid "Updated part image" msgstr "更新商品图像" -#: part/views.py:716 +#: part/views.py:757 msgid "Part image not found" msgstr "未找到商品图像" -#: part/views.py:728 +#: part/views.py:769 msgid "Duplicate BOM" msgstr "" -#: part/views.py:758 +#: part/views.py:799 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:779 -msgid "Validate BOM" -msgstr "" - -#: part/views.py:800 +#: part/views.py:841 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:811 +#: part/views.py:852 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:884 +#: part/views.py:925 msgid "Match Parts" msgstr "匹配商品" -#: part/views.py:1272 +#: part/views.py:1261 +msgid "Export Bill of Materials" +msgstr "" + +#: part/views.py:1313 msgid "Confirm Part Deletion" msgstr "确认删除商品" -#: part/views.py:1279 +#: part/views.py:1320 msgid "Part was deleted" msgstr "商品已删除" -#: part/views.py:1288 +#: part/views.py:1329 msgid "Part Pricing" msgstr "商品价格" -#: part/views.py:1437 +#: part/views.py:1478 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1447 +#: part/views.py:1488 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1454 +#: part/views.py:1495 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:308 +#: part/views.py:1554 templates/js/translated/part.js:309 msgid "Edit Part Category" msgstr "编辑商品类别" -#: part/views.py:1540 +#: part/views.py:1592 msgid "Delete Part Category" msgstr "删除商品类别" -#: part/views.py:1546 +#: part/views.py:1598 msgid "Part category was deleted" msgstr "商品类别已删除" -#: part/views.py:1555 +#: part/views.py:1607 msgid "Create Category Parameter Template" msgstr "创建类别参数模板" -#: part/views.py:1656 +#: part/views.py:1708 msgid "Edit Category Parameter Template" msgstr "编辑类别参数模板" -#: part/views.py:1712 +#: part/views.py:1764 msgid "Delete Category Parameter Template" msgstr "删除类别参数模板" -#: part/views.py:1734 +#: part/views.py:1786 msgid "Added new price break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1862 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1818 +#: part/views.py:1870 msgid "Delete Internal Price Break" msgstr "" +#: report/api.py:234 report/api.py:278 +#, python-brace-format +msgid "Template file '{filename}' is missing or does not exist" +msgstr "" + #: report/models.py:182 msgid "Template name" msgstr "" @@ -5206,51 +5132,51 @@ msgstr "" msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:380 +#: report/models.py:382 msgid "Build Filters" msgstr "" -#: report/models.py:381 +#: report/models.py:383 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:423 +#: report/models.py:425 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:424 +#: report/models.py:426 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:458 +#: report/models.py:460 msgid "Purchase order query filters" msgstr "" -#: report/models.py:496 +#: report/models.py:498 msgid "Sales order query filters" msgstr "" -#: report/models.py:546 +#: report/models.py:548 msgid "Snippet" msgstr "" -#: report/models.py:547 +#: report/models.py:549 msgid "Report snippet file" msgstr "" -#: report/models.py:551 +#: report/models.py:553 msgid "Snippet file description" msgstr "" -#: report/models.py:586 +#: report/models.py:588 msgid "Asset" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Report asset file" msgstr "" -#: report/models.py:590 +#: report/models.py:592 msgid "Asset file description" msgstr "" @@ -5267,543 +5193,595 @@ msgstr "" msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:83 +#: report/templates/report/inventree_test_report_base.html:79 +#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: templates/js/translated/build.js:233 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1013 +#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355 +msgid "Serial Number" +msgstr "序列号" + +#: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1804 +#: report/templates/report/inventree_test_report_base.html:93 +#: stock/models.py:1855 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1810 +#: report/templates/report/inventree_test_report_base.html:94 +#: stock/models.py:1861 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 +#: report/templates/report/inventree_test_report_base.html:97 +#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887 msgid "Date" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 +#: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:105 +#: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:946 +#: report/templates/report/inventree_test_report_base.html:123 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:137 +#: templates/js/translated/stock.js:2147 +msgid "Serial" +msgstr "" + +#: stock/api.py:422 +#, fuzzy +#| msgid "This field is required" +msgid "Quantity is required" +msgstr "此字段为必填" + +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 +#: stock/templates/stock/item_base.html:382 +#: templates/js/translated/stock.js:1246 msgid "Expiry Date" msgstr "" -#: stock/forms.py:80 stock/forms.py:308 +#: stock/forms.py:92 stock/forms.py:266 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:83 +#: stock/forms.py:95 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:134 +#: stock/forms.py:150 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Serial numbers" msgstr "" -#: stock/forms.py:136 +#: stock/forms.py:152 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:138 stock/forms.py:282 +#: stock/forms.py:154 stock/forms.py:238 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:168 stock/forms.py:224 -msgid "Select test report template" -msgstr "" - -#: stock/forms.py:240 +#: stock/forms.py:194 msgid "Stock item to install" msgstr "" -#: stock/forms.py:270 +#: stock/forms.py:224 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:280 +#: stock/forms.py:236 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:284 +#: stock/forms.py:240 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:593 +#: stock/models.py:60 stock/models.py:624 +#: stock/templates/stock/item_base.html:422 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:594 +#: stock/models.py:61 stock/models.py:625 msgid "Select Owner" msgstr "" -#: stock/models.py:322 +#: stock/models.py:352 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:358 +#: stock/models.py:388 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:368 stock/models.py:377 +#: stock/models.py:398 stock/models.py:407 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:369 +#: stock/models.py:399 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:391 +#: stock/models.py:421 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:397 +#: stock/models.py:427 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:404 +#: stock/models.py:434 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:446 +#: stock/models.py:476 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:455 +#: stock/models.py:485 msgid "Base part" msgstr "" -#: stock/models.py:464 +#: stock/models.py:493 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:472 +#: stock/models.py:501 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:479 +#: stock/models.py:508 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:484 stock/templates/stock/item_base.html:284 +#: stock/models.py:513 stock/templates/stock/item_base.html:271 msgid "Installed In" msgstr "" -#: stock/models.py:487 +#: stock/models.py:516 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:503 +#: stock/models.py:532 msgid "Serial number for this item" msgstr "" -#: stock/models.py:515 +#: stock/models.py:546 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:519 +#: stock/models.py:550 msgid "Stock Quantity" msgstr "" -#: stock/models.py:528 +#: stock/models.py:559 msgid "Source Build" msgstr "" -#: stock/models.py:530 +#: stock/models.py:561 msgid "Build for this stock item" msgstr "" -#: stock/models.py:541 +#: stock/models.py:572 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:544 +#: stock/models.py:575 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:581 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:557 +#: stock/models.py:588 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete on deplete" msgstr "" -#: stock/models.py:570 +#: stock/models.py:601 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:580 stock/templates/stock/item.html:99 -#: stock/templates/stock/navbar.html:54 +#: stock/models.py:611 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:589 +#: stock/models.py:620 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:599 +#: stock/models.py:630 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:600 +#: stock/models.py:631 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1063 +#: stock/models.py:1094 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1100 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1075 +#: stock/models.py:1106 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1078 +#: stock/models.py:1109 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1081 +#: stock/models.py:1112 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1088 +#: stock/models.py:1119 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1246 +#: stock/models.py:1277 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1724 +#: stock/models.py:1775 msgid "Entry notes" msgstr "" -#: stock/models.py:1781 +#: stock/models.py:1832 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1787 +#: stock/models.py:1838 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1805 +#: stock/models.py:1856 msgid "Test name" msgstr "" -#: stock/models.py:1811 templates/js/translated/table_filters.js:244 +#: stock/models.py:1862 templates/js/translated/table_filters.js:260 msgid "Test result" msgstr "" -#: stock/models.py:1817 +#: stock/models.py:1868 msgid "Test output value" msgstr "" -#: stock/models.py:1824 +#: stock/models.py:1875 msgid "Test result attachment" msgstr "" -#: stock/models.py:1830 +#: stock/models.py:1881 msgid "Test notes" msgstr "" -#: stock/serializers.py:424 -msgid "StockItem primary key value" +#: stock/serializers.py:166 +#, fuzzy +#| msgid "Source stock item" +msgid "Purchase price of this stock item" +msgstr "源库存项" + +#: stock/serializers.py:173 +msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:452 -msgid "Stock transaction notes" -msgstr "" +#: stock/serializers.py:287 +#, fuzzy +#| msgid "Number of stock items to build" +msgid "Enter number of stock items to serialize" +msgstr "要生产的项目数量" -#: stock/serializers.py:462 -msgid "A list of stock items must be provided" -msgstr "" +#: stock/serializers.py:302 +#, fuzzy, python-brace-format +#| msgid "Quantity to complete cannot exceed build output quantity" +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "完成数量不能超过生产产出数量" -#: stock/serializers.py:554 +#: stock/serializers.py:308 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new items" +msgstr "输入生产产出的序列号" + +#: stock/serializers.py:319 stock/serializers.py:687 msgid "Destination stock location" msgstr "" -#: stock/templates/stock/item.html:17 +#: stock/serializers.py:326 +#, fuzzy +#| msgid "Location not specified" +msgid "Optional note field" +msgstr "未指定仓储地点" + +#: stock/serializers.py:339 +#, fuzzy +#| msgid "Select which users are assigned to this group" +msgid "Serial numbers cannot be assigned to this part" +msgstr "选择分配给该组的用户" + +#: stock/serializers.py:557 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:585 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:595 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/templates/stock/item.html:18 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:30 +#: stock/templates/stock/item.html:29 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:43 +#: stock/templates/stock/item.html:48 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:50 +#: stock/templates/stock/item.html:55 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 -#: stock/templates/stock/navbar.html:22 +#: stock/templates/stock/item.html:64 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:66 -msgid "Delete Test Data" -msgstr "" - -#: stock/templates/stock/item.html:70 -msgid "Add Test Data" -msgstr "" - -#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:72 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:76 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:133 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:511 +#: stock/templates/stock/item.html:137 stock/views.py:515 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 +#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:346 +#: stock/templates/stock/item.html:363 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:360 +#: stock/templates/stock/item.html:377 msgid "Delete Test Result" msgstr "" -#: stock/templates/stock/item_base.html:33 -#: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:225 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:43 -#: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:231 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:331 -#: templates/js/translated/barcode.js:336 +#: stock/templates/stock/item_base.html:35 +#: templates/js/translated/barcode.js:330 +#: templates/js/translated/barcode.js:335 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:37 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 +#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:46 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:104 +#: stock/templates/stock/item_base.html:65 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:108 -#: stock/templates/stock/location.html:69 templates/stock_table.html:57 +#: stock/templates/stock/item_base.html:69 +#: stock/templates/stock/location.html:47 templates/stock_table.html:50 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 +#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56 +#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:117 +#: stock/templates/stock/item_base.html:78 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:121 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/location.html:53 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:124 +#: stock/templates/stock/item_base.html:85 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:127 +#: stock/templates/stock/item_base.html:88 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:130 +#: stock/templates/stock/item_base.html:91 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:133 +#: stock/templates/stock/item_base.html:94 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:145 +#: stock/templates/stock/item_base.html:106 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:148 +#: stock/templates/stock/item_base.html:109 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:150 +#: stock/templates/stock/item_base.html:111 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:153 +#: stock/templates/stock/item_base.html:114 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:173 +#: stock/templates/stock/item_base.html:136 +#: stock/templates/stock/item_base.html:386 +#: templates/js/translated/table_filters.js:241 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:146 +#: stock/templates/stock/item_base.html:388 +#: templates/js/translated/table_filters.js:247 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:161 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:180 +#: stock/templates/stock/item_base.html:168 msgid "This stock item is in production and cannot be edited." msgstr "此库存项目正在生产中,无法编辑。" -#: stock/templates/stock/item_base.html:181 +#: stock/templates/stock/item_base.html:169 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:182 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:202 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:210 +#: stock/templates/stock/item_base.html:198 #, python-format msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" msgstr "" -#: stock/templates/stock/item_base.html:216 +#: stock/templates/stock/item_base.html:204 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:220 +#: stock/templates/stock/item_base.html:208 msgid "This stock item cannot be deleted as it has child items" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:212 msgid "This stock item will be automatically deleted when all stock is depleted." msgstr "" -#: stock/templates/stock/item_base.html:232 -msgid "Stock Item Details" -msgstr "" - -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:241 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:247 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:658 +#: stock/templates/stock/item_base.html:290 +#: templates/js/translated/build.js:1035 msgid "No location set" msgstr "未设置仓储地点" -#: stock/templates/stock/item_base.html:310 +#: stock/templates/stock/item_base.html:297 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:352 +#: stock/templates/stock/item_base.html:339 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:370 +#: stock/templates/stock/item_base.html:357 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:399 +#: stock/templates/stock/item_base.html:386 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:401 +#: stock/templates/stock/item_base.html:388 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:959 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/stock.js:1259 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:400 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:417 +#: stock/templates/stock/item_base.html:404 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:428 +#: stock/templates/stock/item_base.html:415 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:516 -msgid "Save" -msgstr "" - -#: stock/templates/stock/item_base.html:528 +#: stock/templates/stock/item_base.html:504 msgid "Edit Stock Status" msgstr "" @@ -5857,106 +5835,70 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." 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:42 -msgid "Create new stock location" -msgstr "新建仓储地点" - -#: stock/templates/stock/location.html:55 +#: stock/templates/stock/location.html:33 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:83 +#: stock/templates/stock/location.html:61 msgid "Location actions" msgstr "仓储地操作" -#: stock/templates/stock/location.html:85 +#: stock/templates/stock/location.html:63 msgid "Edit location" msgstr "编辑仓储地" -#: stock/templates/stock/location.html:87 +#: stock/templates/stock/location.html:65 msgid "Delete location" msgstr "删除仓储地" -#: stock/templates/stock/location.html:99 -msgid "Location Details" -msgstr "仓储地详细信息" +#: stock/templates/stock/location.html:75 +msgid "Create new stock location" +msgstr "新建仓储地点" -#: stock/templates/stock/location.html:104 -msgid "Location Path" -msgstr "仓储地路径" +#: stock/templates/stock/location.html:76 +msgid "New Location" +msgstr "新建仓储地点" -#: stock/templates/stock/location.html:109 -msgid "Location Description" -msgstr "仓储地描述信息" +#: stock/templates/stock/location.html:86 +#, fuzzy +#| msgid "No stock location set" +msgid "Top level stock location" +msgstr "未设置仓储地点" -#: stock/templates/stock/location.html:114 -#: stock/templates/stock/location.html:155 -#: stock/templates/stock/location_navbar.html:11 -#: stock/templates/stock/location_navbar.html:14 +#: stock/templates/stock/location.html:95 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" + +#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:160 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:124 -msgid "Stock Details" -msgstr "" +#: stock/templates/stock/location.html:118 +#: stock/templates/stock/location.html:132 +#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158 +#: templates/js/translated/stock.js:1871 templates/stats.html:93 +#: templates/stats.html:102 users/models.py:43 +msgid "Stock Items" +msgstr "库存项" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 +#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "仓储地点" -#: stock/templates/stock/location.html:162 templates/stock_table.html:37 +#: stock/templates/stock/location.html:167 templates/stock_table.html:30 msgid "Printing Actions" msgstr "打印操作" -#: stock/templates/stock/location.html:166 templates/stock_table.html:41 +#: stock/templates/stock/location.html:171 templates/stock_table.html:34 msgid "Print labels" msgstr "打印标签" -#: stock/templates/stock/location.html:250 -msgid "New Location" -msgstr "新建仓储地点" - -#: stock/templates/stock/location.html:251 -msgid "Create new location" -msgstr "新建仓储地点" - #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: 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 "" @@ -5965,7 +5907,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912 msgid "Convert Stock Item" msgstr "" @@ -5986,104 +5928,100 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:158 +#: stock/views.py:162 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 -#: stock/views.py:1375 +#: stock/views.py:269 stock/views.py:891 stock/views.py:1017 +#: stock/views.py:1299 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:280 +#: stock/views.py:284 msgid "Stock Location QR code" msgstr "仓储地点二维码" -#: stock/views.py:299 +#: stock/views.py:303 msgid "Assign to Customer" msgstr "" -#: stock/views.py:308 +#: stock/views.py:312 msgid "Customer must be specified" msgstr "" -#: stock/views.py:332 +#: stock/views.py:336 msgid "Return to Stock" msgstr "" -#: stock/views.py:341 +#: stock/views.py:345 msgid "Specify a valid location" msgstr "指定一个有效仓储地点" -#: stock/views.py:352 +#: stock/views.py:356 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:363 +#: stock/views.py:367 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:380 +#: stock/views.py:384 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:485 +#: stock/views.py:489 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:660 +#: stock/views.py:663 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:757 templates/js/translated/stock.js:321 +#: stock/views.py:760 templates/js/translated/stock.js:618 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:768 +#: stock/views.py:771 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:790 +#: stock/views.py:793 templates/js/translated/stock.js:288 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:936 +#: stock/views.py:943 msgid "Create new Stock Location" msgstr "新建仓储地点" -#: stock/views.py:1027 -msgid "Serialize Stock" -msgstr "" - -#: stock/views.py:1120 +#: stock/views.py:1044 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1262 +#: stock/views.py:1186 templates/js/translated/stock.js:268 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1344 +#: stock/views.py:1268 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1444 +#: stock/views.py:1368 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: stock/views.py:1457 +#: stock/views.py:1381 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1468 +#: stock/views.py:1392 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1475 +#: stock/views.py:1399 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1484 +#: stock/views.py:1408 msgid "Add Stock Tracking Entry" msgstr "" @@ -6107,63 +6045,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:105 -msgid "Starred Parts" -msgstr "已加星标商品" +#: templates/InvenTree/index.html:88 +#, fuzzy +#| msgid "Supplied Parts" +msgid "Subscribed Parts" +msgstr "供应商商品" -#: templates/InvenTree/index.html:115 +#: templates/InvenTree/index.html:98 +#, fuzzy +#| msgid "Subcategories" +msgid "Subscribed Categories" +msgstr "子类别" + +#: templates/InvenTree/index.html:108 msgid "Latest Parts" msgstr "最近商品" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:153 +#: templates/InvenTree/index.html:145 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:176 +#: templates/InvenTree/index.html:168 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:191 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:202 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:232 +#: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:243 +#: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:263 +#: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:274 +#: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:294 +#: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:305 +#: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14 +#: templates/InvenTree/search.html:8 msgid "Search Results" msgstr "" -#: templates/InvenTree/search.html:24 +#: templates/InvenTree/search.html:22 msgid "Enter a search query" msgstr "" @@ -6183,23 +6129,23 @@ msgstr "类别设置" msgid "Currency Settings" msgstr "货币设置" -#: templates/InvenTree/settings/currencies.html:23 +#: templates/InvenTree/settings/currencies.html:19 msgid "Base Currency" msgstr "基础货币" -#: templates/InvenTree/settings/currencies.html:27 +#: templates/InvenTree/settings/currencies.html:24 msgid "Exchange Rates" msgstr "汇率" -#: templates/InvenTree/settings/currencies.html:37 +#: templates/InvenTree/settings/currencies.html:38 msgid "Last Update" msgstr "上次更新" -#: templates/InvenTree/settings/currencies.html:43 +#: templates/InvenTree/settings/currencies.html:44 msgid "Never" msgstr "从不" -#: templates/InvenTree/settings/currencies.html:48 +#: templates/InvenTree/settings/currencies.html:49 msgid "Update Now" msgstr "立即更新" @@ -6207,147 +6153,78 @@ msgstr "立即更新" msgid "Server Settings" msgstr "" -#: templates/InvenTree/settings/header.html:7 -msgid "Setting" -msgstr "设置" - #: templates/InvenTree/settings/login.html:9 msgid "Login Settings" msgstr "" -#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/navbar.html:12 -#: templates/InvenTree/settings/user_settings.html:9 -msgid "User Settings" -msgstr "用户设置" - -#: templates/InvenTree/settings/navbar.html:15 -#: templates/InvenTree/settings/navbar.html:17 -msgid "Account" -msgstr "帐户" - -#: templates/InvenTree/settings/navbar.html:21 -#: templates/InvenTree/settings/navbar.html:23 -msgid "Home Page" -msgstr "主页" - -#: templates/InvenTree/settings/navbar.html:27 -#: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:375 templates/search_form.html:6 -#: templates/search_form.html:8 -msgid "Search" -msgstr "搜索" - -#: templates/InvenTree/settings/navbar.html:33 -#: templates/InvenTree/settings/navbar.html:35 -msgid "Labels" -msgstr "标签" - -#: templates/InvenTree/settings/navbar.html:39 -#: templates/InvenTree/settings/navbar.html:41 -msgid "Reports" -msgstr "报表" - -#: templates/InvenTree/settings/navbar.html:45 -#: templates/InvenTree/settings/navbar.html:47 -msgid "Forms" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:52 -#: templates/InvenTree/settings/navbar.html:54 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 -msgid "Settings" -msgstr "设置" - -#: templates/InvenTree/settings/navbar.html:62 -msgid "InvenTree Settings" -msgstr "InventTree 设置" - -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 -msgid "Server" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 -msgid "Login" -msgstr "" - -#: templates/InvenTree/settings/navbar.html:77 -#: templates/InvenTree/settings/navbar.html:79 -msgid "Barcodes" -msgstr "条形码" - -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -msgid "Currencies" -msgstr "币种" - -#: templates/InvenTree/settings/navbar.html:89 -#: templates/InvenTree/settings/navbar.html:91 -msgid "Reporting" -msgstr "报表" - -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 -msgid "Categories" -msgstr "类别管理" - #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" msgstr "商品设置" -#: templates/InvenTree/settings/part.html:12 -msgid "Part Options" -msgstr "商品选项" - #: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "商品导入" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "导入商品" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:61 msgid "Part Parameter Templates" msgstr "商品参数模板" -#: templates/InvenTree/settings/po.html:9 +#: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "采购订单设置" -#: templates/InvenTree/settings/report.html:10 +#: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" msgstr "报表设置" -#: templates/InvenTree/settings/setting.html:29 +#: templates/InvenTree/settings/setting.html:28 msgid "No value set" msgstr "未设置值" -#: templates/InvenTree/settings/setting.html:41 +#: templates/InvenTree/settings/setting.html:39 msgid "Edit setting" msgstr "编辑设置" -#: templates/InvenTree/settings/settings.html:154 +#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93 +msgid "Settings" +msgstr "设置" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit setting" +msgid "Edit Global Setting" +msgstr "编辑设置" + +#: templates/InvenTree/settings/settings.html:65 +#, fuzzy +#| msgid "Edit setting" +msgid "Edit User Setting" +msgstr "编辑设置" + +#: templates/InvenTree/settings/settings.html:148 msgid "No category parameter templates found" msgstr "未找到类别参数模板" -#: templates/InvenTree/settings/settings.html:176 -#: templates/InvenTree/settings/settings.html:275 +#: templates/InvenTree/settings/settings.html:170 +#: templates/InvenTree/settings/settings.html:269 msgid "Edit Template" msgstr "编辑模板" -#: templates/InvenTree/settings/settings.html:177 -#: templates/InvenTree/settings/settings.html:276 +#: templates/InvenTree/settings/settings.html:171 +#: templates/InvenTree/settings/settings.html:270 msgid "Delete Template" msgstr "删除模板" -#: templates/InvenTree/settings/settings.html:255 +#: templates/InvenTree/settings/settings.html:249 msgid "No part parameter templates found" msgstr "未找到商品参数模板" @@ -6363,135 +6240,169 @@ msgstr "库存设置" msgid "Account Settings" msgstr "帐户设置" -#: templates/InvenTree/settings/user.html:19 +#: templates/InvenTree/settings/user.html:18 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "编辑" -#: templates/InvenTree/settings/user.html:21 +#: templates/InvenTree/settings/user.html:20 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "更改密码" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:31 msgid "Username" msgstr "用户名" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:35 msgid "First Name" msgstr "名字" -#: templates/InvenTree/settings/user.html:36 +#: templates/InvenTree/settings/user.html:39 msgid "Last Name" msgstr "姓氏" -#: templates/InvenTree/settings/user.html:42 -msgid "E-Mail" +#: templates/InvenTree/settings/user.html:54 +msgid "The following email addresses are associated with your account:" msgstr "" -#: templates/InvenTree/settings/user.html:47 -msgid "The following e-mail addresses are associated with your account:" -msgstr "" - -#: templates/InvenTree/settings/user.html:61 +#: templates/InvenTree/settings/user.html:74 msgid "Verified" msgstr "" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:76 msgid "Unverified" msgstr "" -#: templates/InvenTree/settings/user.html:65 +#: templates/InvenTree/settings/user.html:78 msgid "Primary" msgstr "" -#: templates/InvenTree/settings/user.html:71 +#: templates/InvenTree/settings/user.html:84 msgid "Make Primary" msgstr "" -#: templates/InvenTree/settings/user.html:72 +#: templates/InvenTree/settings/user.html:85 msgid "Re-send Verification" msgstr "" -#: templates/InvenTree/settings/user.html:73 -#: templates/InvenTree/settings/user.html:130 +#: templates/InvenTree/settings/user.html:86 +#: templates/InvenTree/settings/user.html:153 msgid "Remove" msgstr "" -#: templates/InvenTree/settings/user.html:80 +#: templates/InvenTree/settings/user.html:93 msgid "Warning:" msgstr "" -#: templates/InvenTree/settings/user.html:81 -msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +#: templates/InvenTree/settings/user.html:94 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." msgstr "" -#: templates/InvenTree/settings/user.html:88 -msgid "Add E-mail Address" -msgstr "" +#: templates/InvenTree/settings/user.html:101 +#, fuzzy +#| msgid "Contact email address" +msgid "Add Email Address" +msgstr "联系人电子邮件" -#: templates/InvenTree/settings/user.html:93 -msgid "Add E-mail" -msgstr "" +#: templates/InvenTree/settings/user.html:111 +#, fuzzy +#| msgid "Contact email address" +msgid "Enter e-mail address" +msgstr "联系人电子邮件" -#: templates/InvenTree/settings/user.html:100 +#: templates/InvenTree/settings/user.html:113 +#, fuzzy +#| msgid "Email" +msgid "Add Email" +msgstr "电子邮件" + +#: templates/InvenTree/settings/user.html:123 msgid "Social Accounts" msgstr "" -#: templates/InvenTree/settings/user.html:105 +#: templates/InvenTree/settings/user.html:128 msgid "You can sign in to your account using any of the following third party accounts:" msgstr "" -#: templates/InvenTree/settings/user.html:138 -msgid "You currently have no social network accounts connected to this account." +#: templates/InvenTree/settings/user.html:162 +msgid "There are no social network accounts connected to your InvenTree account" msgstr "" -#: templates/InvenTree/settings/user.html:142 +#: templates/InvenTree/settings/user.html:167 msgid "Add a 3rd Party Account" msgstr "" -#: templates/InvenTree/settings/user.html:153 -msgid "Theme Settings" -msgstr "主题设置" - -#: templates/InvenTree/settings/user.html:174 -msgid "Set Theme" -msgstr "设置主题" - -#: templates/InvenTree/settings/user.html:181 +#: templates/InvenTree/settings/user.html:177 msgid "Language Settings" msgstr "语言设置" -#: templates/InvenTree/settings/user.html:200 +#: templates/InvenTree/settings/user.html:186 +#, fuzzy +#| msgid "Set Language" +msgid "Select language" +msgstr "设置语言" + +#: templates/InvenTree/settings/user.html:202 #, python-format msgid "%(lang_translated)s%% translated" msgstr "%(lang_translated)s%% 已翻译" -#: templates/InvenTree/settings/user.html:202 +#: templates/InvenTree/settings/user.html:204 msgid "No translations available" msgstr "无可用翻译" -#: templates/InvenTree/settings/user.html:209 +#: templates/InvenTree/settings/user.html:211 msgid "Set Language" msgstr "设置语言" -#: templates/InvenTree/settings/user.html:214 +#: templates/InvenTree/settings/user.html:213 +msgid "Some languages are not complete" +msgstr "" + +#: templates/InvenTree/settings/user.html:215 +msgid "Show only sufficent" +msgstr "" + +#: templates/InvenTree/settings/user.html:217 +#, fuzzy +#| msgid "Show latest parts" +msgid "Show them too" +msgstr "显示最近商品" + +#: templates/InvenTree/settings/user.html:224 msgid "Help the translation efforts!" msgstr "帮助翻译工作!" -#: templates/InvenTree/settings/user.html:215 +#: templates/InvenTree/settings/user.html:225 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "InventTree web 应用程序的本地语言翻译是 社区通过crowdin贡献。欢迎并鼓励提交信息。" -#: templates/InvenTree/settings/user.html:223 -msgid "Do you really want to remove the selected e-mail address?" +#: templates/InvenTree/settings/user.html:233 +msgid "Do you really want to remove the selected email address?" msgstr "" -#: templates/InvenTree/settings/user_forms.html:9 -msgid "Form Settings" -msgstr "" +#: templates/InvenTree/settings/user_display.html:9 +#, fuzzy +#| msgid "Email Settings" +msgid "Display Settings" +msgstr "电子邮件设置" + +#: templates/InvenTree/settings/user_display.html:25 +msgid "Theme Settings" +msgstr "主题设置" + +#: templates/InvenTree/settings/user_display.html:35 +#, fuzzy +#| msgid "Set Theme" +msgid "Select theme" +msgstr "设置主题" + +#: templates/InvenTree/settings/user_display.html:46 +msgid "Set Theme" +msgstr "设置主题" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" @@ -6505,124 +6416,143 @@ msgstr "标签设置" msgid "Search Settings" msgstr "搜索设置" -#: templates/about.html:13 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "用户设置" + +#: templates/about.html:10 msgid "InvenTree Version Information" msgstr "" -#: templates/about.html:22 +#: templates/about.html:11 templates/about.html:105 +#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53 +#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 +#: templates/js/translated/modals.js:964 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/about.html:20 msgid "InvenTree Version" msgstr "" -#: templates/about.html:27 +#: templates/about.html:25 msgid "Development Version" msgstr "" -#: templates/about.html:30 +#: templates/about.html:28 msgid "Up to Date" msgstr "" -#: templates/about.html:32 +#: templates/about.html:30 msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:40 msgid "Commit Hash" msgstr "" -#: templates/about.html:49 +#: templates/about.html:47 msgid "Commit Date" msgstr "" -#: templates/about.html:55 +#: templates/about.html:53 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:60 +#: templates/about.html:58 msgid "API Version" msgstr "" -#: templates/about.html:65 +#: templates/about.html:63 msgid "Python Version" msgstr "" -#: templates/about.html:70 +#: templates/about.html:68 msgid "Django Version" msgstr "" -#: templates/about.html:75 +#: templates/about.html:73 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:80 +#: templates/about.html:78 msgid "Credits" msgstr "" -#: templates/about.html:85 +#: templates/about.html:83 msgid "Mobile App" msgstr "" -#: templates/about.html:90 +#: templates/about.html:88 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:97 templates/clip.html:4 +#: templates/about.html:95 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:97 +#: templates/about.html:95 msgid "copy version information" msgstr "" -#: templates/about.html:107 templates/js/translated/modals.js:50 -#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:982 templates/modals.html:29 -#: templates/modals.html:54 -msgid "Close" -msgstr "" - #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 -msgid "Confirm E-mail Address" -msgstr "" +#, fuzzy +#| msgid "Contact email address" +msgid "Confirm Email Address" +msgstr "联系人电子邮件" #: templates/account/email_confirm.html:16 #, python-format -msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" #: templates/account/email_confirm.html:27 #, python-format -msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:5 templates/account/login.html:14 -#: templates/account/login.html:36 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:39 msgid "Sign In" msgstr "" -#: templates/account/login.html:19 +#: templates/account/login.html:21 #, python-format -msgid "Please sign in with one\n" +msgid "" +"Please sign in with one\n" "of your existing third party accounts or sign up\n" "for a account and sign in below:" msgstr "" -#: templates/account/login.html:23 +#: templates/account/login.html:25 #, python-format -msgid "If you have not created an account yet, then please\n" +msgid "" +"If you have not created an account yet, then please\n" "sign up first." msgstr "" -#: templates/account/login.html:38 +#: templates/account/login.html:42 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 +#, fuzzy +#| msgid "InvenTree Settings" +msgid "InvenTree demo instance" +msgstr "InventTree 设置" + +#: templates/account/login.html:47 +msgid "Click here for login details" +msgstr "" + +#: templates/account/login.html:55 msgid "or use SSO" msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 -#: templates/account/logout.html:17 +#: templates/account/logout.html:20 msgid "Sign Out" msgstr "" @@ -6630,13 +6560,17 @@ msgstr "" msgid "Are you sure you want to sign out?" msgstr "" +#: templates/account/logout.html:19 +msgid "Back to Site" +msgstr "" + #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" msgstr "" #: templates/account/password_reset.html:18 -msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." msgstr "" #: templates/account/password_reset.html:23 @@ -6656,11 +6590,13 @@ msgstr "" msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." msgstr "" -#: templates/account/password_reset_from_key.html:17 -msgid "change password" -msgstr "" +#: templates/account/password_reset_from_key.html:18 +#, fuzzy +#| msgid "Change Password" +msgid "Change password" +msgstr "更改密码" -#: templates/account/password_reset_from_key.html:20 +#: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." msgstr "" @@ -6677,6 +6613,89 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" +#: templates/admin_button.html:2 +msgid "View in administration panel" +msgstr "" + +#: templates/base.html:96 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:99 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:99 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +#, fuzzy +#| msgid "User responsible for this build order" +msgid "Stock is required for the following build order" +msgstr "负责此生产订单的用户" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +#, fuzzy +#| msgid "Allow sale of expired stock" +msgid "The following parts are low on required stock" +msgstr "允许销售过期库存" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:989 +#, fuzzy +#| msgid "Build Quantity" +msgid "Required Quantity" +msgstr "生产数量" + +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129 +#: templates/js/translated/build.js:1749 +msgid "Available" +msgstr "空闲" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:31 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/email.html:35 +#, fuzzy +#| msgid "InvenTree Settings" +msgid "InvenTree version" +msgstr "InventTree 设置" + +#: templates/email/low_stock_notification.html:7 +#, python-format +msgid " The available stock for %(part)s has fallen below the configured minimum level" +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:17 +#, fuzzy +#| msgid "Part Stock" +msgid "Total Stock" +msgstr "商品库存" + +#: templates/email/low_stock_notification.html:19 +#, fuzzy +#| msgid "Build Quantity" +msgid "Minimum Quantity" +msgstr "生产数量" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6693,138 +6712,59 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:67 -msgid "items selected" -msgstr "" - -#: templates/js/report.js:55 templates/js/translated/report.js:75 -msgid "Select Report Template" -msgstr "" - -#: templates/js/report.js:70 templates/js/translated/report.js:90 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 -msgid "Select Stock Items" -msgstr "选择库存项" - -#: templates/js/report.js:99 templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "在打印报表之前必须选择库存项目" - -#: templates/js/report.js:116 templates/js/report.js:169 -#: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:136 -#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 -#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 -msgid "No Reports Found" -msgstr "没有找到报表" - -#: templates/js/report.js:117 templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "" - -#: templates/js/report.js:152 templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "" - -#: templates/js/report.js:153 templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "打印报表前必须选择Build(s)" - -#: templates/js/report.js:170 templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "" - -#: templates/js/report.js:205 templates/js/translated/build.js:948 -#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 -msgid "Select Parts" -msgstr "选择商品" - -#: templates/js/report.js:206 templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "打印报表前必须选择商品" - -#: templates/js/report.js:224 templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "" - -#: templates/js/report.js:259 templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "" - -#: templates/js/report.js:260 templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "" - -#: templates/js/report.js:313 templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "" - -#: templates/js/report.js:314 templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "" - -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:181 +#: templates/js/translated/api.js:191 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:182 +#: templates/js/translated/api.js:192 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:205 +#: templates/js/translated/api.js:215 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:206 +#: templates/js/translated/api.js:216 msgid "Error code" msgstr "" @@ -6832,292 +6772,399 @@ msgstr "" msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:91 +#: templates/js/translated/attachment.js:95 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:108 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:115 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:30 +#: templates/js/translated/barcode.js:29 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:31 msgid "Enter barcode data" msgstr "输入条形码数据" -#: templates/js/translated/barcode.js:36 +#: templates/js/translated/barcode.js:35 msgid "Barcode" msgstr "条形码" -#: templates/js/translated/barcode.js:54 +#: templates/js/translated/barcode.js:53 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:55 +#: templates/js/translated/barcode.js:54 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:93 +#: templates/js/translated/barcode.js:92 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:114 +#: templates/js/translated/barcode.js:113 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/barcode.js:140 +#: templates/js/translated/modals.js:1024 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:234 +#: templates/js/translated/barcode.js:233 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +#: templates/js/translated/barcode.js:280 templates/navbar.html:69 msgid "Scan Barcode" msgstr "扫描条形码" -#: templates/js/translated/barcode.js:292 +#: templates/js/translated/barcode.js:291 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:310 +#: templates/js/translated/barcode.js:309 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:333 +#: templates/js/translated/barcode.js:332 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:339 +#: templates/js/translated/barcode.js:338 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:440 +#: templates/js/translated/barcode.js:439 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:444 -#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:443 +#: templates/js/translated/barcode.js:573 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:486 -#: templates/js/translated/barcode.js:610 +#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:612 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:505 +#: templates/js/translated/barcode.js:507 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:509 +#: templates/js/translated/barcode.js:511 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:516 +#: templates/js/translated/barcode.js:518 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:523 +#: templates/js/translated/barcode.js:525 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:568 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:629 +#: templates/js/translated/barcode.js:633 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 +#: templates/js/translated/bom.js:184 +#, fuzzy +#| msgid "Remove part" +msgid "Remove substitute part" +msgstr "移除商品" + +#: templates/js/translated/bom.js:226 +msgid "Select and add a new variant item using the input below" +msgstr "" + +#: templates/js/translated/bom.js:237 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "是否确定取消生产?" + +#: templates/js/translated/bom.js:243 +#, fuzzy +#| msgid "Remove part" +msgid "Remove Substitute Part" +msgstr "移除商品" + +#: templates/js/translated/bom.js:282 +#, fuzzy +#| msgid "Add Supplier" +msgid "Add Substitute" +msgstr "添加供应商" + +#: templates/js/translated/bom.js:283 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:402 +#, fuzzy +#| msgid "Available" +msgid "Substitutes Available" +msgstr "空闲" + +#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:411 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 -#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 -msgid "Available" -msgstr "空闲" +#: templates/js/translated/bom.js:483 +msgid "Substitutes" +msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:498 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:505 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 +#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 -#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183 +#: templates/js/translated/order.js:1298 msgid "Actions" msgstr "" -#: templates/js/translated/bom.js:423 +#: templates/js/translated/bom.js:614 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:425 +#: templates/js/translated/bom.js:616 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:618 +#, fuzzy +#| msgid "Edit supplier part" +msgid "Edit substitute parts" +msgstr "编辑供应商商品" + +#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 +#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 -#: templates/js/translated/build.js:1593 +#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:71 -msgid "Edit Build Order" -msgstr "" +#: templates/js/translated/bom.js:772 +#, fuzzy +#| msgid "Are you sure you want to delete this stock location?" +msgid "Are you sure you want to delete this BOM item?" +msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/build.js:105 -msgid "Create Build Order" -msgstr "" - -#: templates/js/translated/build.js:138 -msgid "Allocate stock items to this build output" -msgstr "" - -#: templates/js/translated/build.js:146 -msgid "Unallocate stock from build output" -msgstr "" - -#: templates/js/translated/build.js:155 -msgid "Complete build output" -msgstr "" - -#: templates/js/translated/build.js:164 -msgid "Delete build output" -msgstr "" - -#: templates/js/translated/build.js:265 -msgid "No build order allocations found" -msgstr "" - -#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 -msgid "Location not specified" -msgstr "未指定仓储地点" - -#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 -#: templates/js/translated/order.js:1292 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 -#: templates/js/translated/order.js:1293 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:695 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:705 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:718 +#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:739 +#: templates/js/translated/bom.js:994 +#, fuzzy +#| msgid "Split from parent item" +msgid "Inherited from parent BOM" +msgstr "从父项拆分" + +#: templates/js/translated/build.js:78 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:112 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:133 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:144 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:153 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:161 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:184 +#, fuzzy +#| msgid "Are you sure you wish to unallocate all stock for this build?" +msgid "Are you sure you wish to unallocate stock items from this build?" +msgstr "您确定要取消此生产的所有库存分配?" + +#: templates/js/translated/build.js:202 +#, fuzzy +#| msgid "Unallocate Stock" +msgid "Unallocate Stock Items" +msgstr "未分配库存" + +#: templates/js/translated/build.js:220 +#, fuzzy +#| msgid "Delete Build Output" +msgid "Select Build Outputs" +msgstr "删除生产产出" + +#: templates/js/translated/build.js:221 +#, fuzzy +#| msgid "Build output must be specified" +msgid "At least one build output must be selected" +msgstr "必须指定生成产出" + +#: templates/js/translated/build.js:275 +#, fuzzy +#| msgid "Build Outputs" +msgid "Output" +msgstr "生产产出" + +#: templates/js/translated/build.js:291 +#, fuzzy +#| msgid "Incomplete Build Outputs" +msgid "Complete Build Outputs" +msgstr "未完成的生产产出" + +#: templates/js/translated/build.js:386 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172 +msgid "Location not specified" +msgstr "未指定仓储地点" + +#: templates/js/translated/build.js:603 +#, fuzzy +#| msgid "No build output specified" +msgid "No active build outputs found" +msgstr "未指定生产产出" + +#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 +#: templates/js/translated/order.js:1305 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 +#: templates/js/translated/order.js:1306 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:1072 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:1082 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:1107 +msgid "Substitute parts available" +msgstr "" + +#: templates/js/translated/build.js:1124 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 -#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 -#: templates/js/translated/order.js:1567 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 -#: templates/stock_table.html:59 +#: templates/js/translated/build.js:1194 templates/stock_table.html:52 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:880 +#: templates/js/translated/build.js:1262 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:949 +#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 +msgid "Select Parts" +msgstr "选择商品" + +#: templates/js/translated/build.js:1334 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:963 +#: templates/js/translated/build.js:1348 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:992 +#: templates/js/translated/build.js:1377 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/build.js:993 +#: templates/js/translated/build.js:1378 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1004 +#: templates/js/translated/build.js:1389 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1451 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1172 +#: templates/js/translated/build.js:1576 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 -#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873 +#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064 +#: templates/js/translated/stock.js:1841 msgid "Select" msgstr "" -#: templates/js/translated/build.js:1209 +#: templates/js/translated/build.js:1613 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:1282 +#: templates/js/translated/build.js:1686 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1333 +#: templates/js/translated/build.js:1737 msgid "No parts allocated for" msgstr "" @@ -7137,7 +7184,7 @@ msgstr "编辑制造商商品" msgid "Delete Manufacturer Part" msgstr "删除制造商商品" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:90 msgid "Add Supplier" msgstr "添加供应商" @@ -7186,34 +7233,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:496 -#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:512 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:448 +#: templates/js/translated/part.js:533 msgid "Template part" msgstr "" #: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 -#: templates/js/translated/part.js:516 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:452 +#: templates/js/translated/part.js:537 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:625 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:667 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:685 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:697 msgid "Delete Parameter" msgstr "删除参数" @@ -7222,12 +7269,12 @@ msgid "No supplier parts found" msgstr "未找到供应商商品" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:407 +#: templates/js/translated/filters.js:420 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:408 +#: templates/js/translated/filters.js:421 msgid "false" msgstr "" @@ -7235,57 +7282,63 @@ msgstr "" msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:286 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:286 +#: templates/js/translated/filters.js:290 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:289 +#: templates/js/translated/filters.js:293 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:317 +#: templates/js/translated/filters.js:329 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 -#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364 +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:324 +#: templates/js/translated/forms.js:351 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:337 +#: templates/js/translated/forms.js:366 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:349 +#: templates/js/translated/forms.js:380 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:361 +#: templates/js/translated/forms.js:394 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:968 templates/modals.html:21 -#: templates/modals.html:47 +#: templates/js/translated/forms.js:679 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Enter a valid number" +msgstr "必须是有效数字" + +#: templates/js/translated/forms.js:1071 templates/modals.html:19 +#: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1323 +#: templates/js/translated/forms.js:1457 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1525 +#: templates/js/translated/forms.js:1661 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1742 +#: templates/js/translated/forms.js:1878 msgid "Clear input" msgstr "" @@ -7297,6 +7350,11 @@ msgstr "" msgid "NO" msgstr "" +#: templates/js/translated/label.js:29 templates/js/translated/report.js:118 +#: templates/js/translated/stock.js:594 +msgid "Select Stock Items" +msgstr "选择库存项" + #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "打印标签前必须选择库存项目" @@ -7342,62 +7400,62 @@ msgstr "选择标签" msgid "Select Label Template" msgstr "选择标签模板" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 -#: templates/js/translated/modals.js:610 +#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:593 msgid "Cancel" msgstr "取消" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 -#: templates/modals.html:30 templates/modals.html:55 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963 +#: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:118 +#: templates/js/translated/modals.js:117 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:380 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:539 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:609 +#: templates/js/translated/modals.js:592 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:666 +#: templates/js/translated/modals.js:649 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:933 +#: templates/js/translated/modals.js:915 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:945 +#: templates/js/translated/modals.js:927 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1042 +#: templates/js/translated/modals.js:1024 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1039 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1058 +#: templates/js/translated/modals.js:1040 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1081 +#: templates/js/translated/modals.js:1063 msgid "Error requesting form data" msgstr "" @@ -7405,35 +7463,35 @@ msgstr "" msgid "Company ID" msgstr "公司ID" -#: templates/js/translated/model_renderers.js:90 +#: templates/js/translated/model_renderers.js:77 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:125 +#: templates/js/translated/model_renderers.js:130 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:142 +#: templates/js/translated/model_renderers.js:147 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:177 +#: templates/js/translated/model_renderers.js:182 msgid "Part ID" msgstr "商品ID" -#: templates/js/translated/model_renderers.js:231 +#: templates/js/translated/model_renderers.js:236 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:251 +#: templates/js/translated/model_renderers.js:256 msgid "Category ID" msgstr "类别 ID" -#: templates/js/translated/model_renderers.js:288 +#: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" msgstr "制造商商品ID" -#: templates/js/translated/model_renderers.js:317 +#: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" msgstr "供应商商品ID" @@ -7445,565 +7503,714 @@ msgstr "" msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:207 +#: templates/js/translated/order.js:208 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393 msgid "Format" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394 msgid "Select file format" msgstr "" -#: templates/js/translated/order.js:299 +#: templates/js/translated/order.js:300 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:300 +#: templates/js/translated/order.js:301 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:325 +#: templates/js/translated/order.js:326 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:426 +#: templates/js/translated/order.js:427 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:428 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:429 +#: templates/js/translated/order.js:430 msgid "Receive" msgstr "" -#: templates/js/translated/order.js:448 +#: templates/js/translated/order.js:449 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:449 +#: templates/js/translated/order.js:450 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:626 +#: templates/js/translated/order.js:627 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 +#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:800 +#: templates/js/translated/order.js:801 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445 msgid "Total" msgstr "" -#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470 +#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693 msgid "Unit Price" msgstr "单价" -#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 -msgid "Total price" -msgstr "" +#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486 +#, fuzzy +#| msgid "Sale Price" +msgid "Total Price" +msgstr "销售价格" -#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:963 +#: templates/js/translated/order.js:976 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:967 +#: templates/js/translated/order.js:980 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1004 +#: templates/js/translated/order.js:1017 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1055 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1120 +#: templates/js/translated/order.js:1133 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:1226 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1231 +#: templates/js/translated/order.js:1244 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1273 +#: templates/js/translated/order.js:1286 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1514 +#: templates/js/translated/order.js:1535 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1579 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1585 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1596 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1673 +#: templates/js/translated/order.js:1719 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1733 +#: templates/js/translated/order.js:1779 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1747 +#: templates/js/translated/order.js:1793 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:49 +#: templates/js/translated/part.js:50 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:54 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:58 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:62 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:75 +#: templates/js/translated/part.js:76 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:164 +#: templates/js/translated/part.js:165 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:172 +#: templates/js/translated/part.js:173 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:180 +#: templates/js/translated/part.js:181 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:191 +#: templates/js/translated/part.js:192 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: templates/js/translated/part.js:192 +#: templates/js/translated/part.js:193 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:202 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:257 +#: templates/js/translated/part.js:258 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:258 +#: templates/js/translated/part.js:259 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:265 -msgid "Copy BOM" -msgstr "" - -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:273 +#: templates/js/translated/part.js:274 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:287 +#: templates/js/translated/part.js:288 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:331 +#: templates/js/translated/part.js:332 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 +#: templates/js/translated/part.js:334 +#, fuzzy +#| msgid "Parts imported" +msgid "Part edited" +msgstr "已导入商品" + +#: templates/js/translated/part.js:402 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:404 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:409 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:411 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:440 templates/js/translated/part.js:525 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 +#: templates/js/translated/part.js:444 templates/js/translated/part.js:529 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:435 -msgid "Starred part" +#: templates/js/translated/part.js:456 +#, fuzzy +#| msgid "Starred part" +msgid "Subscribed part" msgstr "已标记商品" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:460 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:575 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 +#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:932 +#: templates/js/translated/part.js:933 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:955 -#: templates/js/translated/table_filters.js:359 +#: templates/js/translated/part.js:956 +#: templates/js/translated/table_filters.js:375 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 +#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200 +#: templates/js/translated/stock.js:1802 +#, fuzzy +#| msgid "Display list view" +msgid "Display as list" +msgstr "列表视图" + +#: templates/js/translated/part.js:1044 +#, fuzzy +#| msgid "Display list view" +msgid "Display as grid" +msgstr "列表视图" + +#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821 +#, fuzzy +#| msgid "Display list view" +msgid "Display as tree" +msgstr "列表视图" + +#: templates/js/translated/part.js:1283 +#, fuzzy +#| msgid "Set category" +msgid "Subscribed category" +msgstr "设置类别" + +#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1202 +#: templates/js/translated/part.js:1341 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 +#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 +#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1260 +#: templates/js/translated/part.js:1399 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1421 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1435 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1321 +#: templates/js/translated/part.js:1460 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1376 +#: templates/js/translated/part.js:1515 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1377 +#: templates/js/translated/part.js:1516 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1478 +#: templates/js/translated/part.js:1617 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1497 +#: templates/js/translated/part.js:1636 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:63 +#: templates/js/translated/report.js:67 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:75 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:90 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:119 +msgid "Stock item(s) must be selected before printing reports" +msgstr "在打印报表之前必须选择库存项目" + +#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 +#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 +#: templates/js/translated/report.js:351 +msgid "No Reports Found" +msgstr "没有找到报表" + +#: templates/js/translated/report.js:137 +msgid "No report templates found which match selected stock item(s)" +msgstr "" + +#: templates/js/translated/report.js:172 +msgid "Select Builds" +msgstr "" + +#: templates/js/translated/report.js:173 +msgid "Build(s) must be selected before printing reports" +msgstr "打印报表前必须选择Build(s)" + +#: templates/js/translated/report.js:190 +msgid "No report templates found which match selected build(s)" +msgstr "" + +#: templates/js/translated/report.js:226 +msgid "Part(s) must be selected before printing reports" +msgstr "打印报表前必须选择商品" + +#: templates/js/translated/report.js:244 +msgid "No report templates found which match selected part(s)" +msgstr "" + +#: templates/js/translated/report.js:279 +msgid "Select Purchase Orders" +msgstr "" + +#: templates/js/translated/report.js:280 +msgid "Purchase Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 +msgid "No report templates found which match selected orders" +msgstr "" + +#: templates/js/translated/report.js:333 +msgid "Select Sales Orders" +msgstr "" + +#: templates/js/translated/report.js:334 +msgid "Sales Order(s) must be selected before printing report" +msgstr "" + +#: templates/js/translated/stock.js:70 +#, fuzzy +#| msgid "Select Stock Items" +msgid "Serialize Stock Item" +msgstr "选择库存项" + +#: templates/js/translated/stock.js:90 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:93 +#: templates/js/translated/stock.js:126 +#, fuzzy +#| msgid "Stock Location" +msgid "New Stock Location" +msgstr "仓储地点" + +#: templates/js/translated/stock.js:189 +#, fuzzy +#| msgid "Enter quantity for build output" +msgid "Enter initial quantity for this stock item" +msgstr "输入生产产出数量" + +#: templates/js/translated/stock.js:195 +#, fuzzy +#| msgid "Enter serial numbers for build outputs" +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "输入生产产出的序列号" + +#: templates/js/translated/stock.js:338 +#, fuzzy +#| msgid "Create new stock location" +msgid "Created new stock item" +msgstr "新建仓储地点" + +#: templates/js/translated/stock.js:351 +#, fuzzy +#| msgid "Create initial stock" +msgid "Created multiple stock items" +msgstr "创建初始库存" + +#: templates/js/translated/stock.js:390 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:401 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:402 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:444 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:445 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:451 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:155 +#: templates/js/translated/stock.js:452 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:159 +#: templates/js/translated/stock.js:456 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:160 +#: templates/js/translated/stock.js:457 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:164 +#: templates/js/translated/stock.js:461 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:165 users/models.py:195 +#: templates/js/translated/stock.js:462 users/models.py:200 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:169 templates/stock_table.html:63 +#: templates/js/translated/stock.js:466 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:258 +#: templates/js/translated/stock.js:555 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:595 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:456 +#: templates/js/translated/stock.js:753 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:458 +#: templates/js/translated/stock.js:755 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:463 +#: templates/js/translated/stock.js:760 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:489 +#: templates/js/translated/stock.js:782 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:515 +#: templates/js/translated/stock.js:808 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:563 +#: templates/js/translated/stock.js:865 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:670 +#: templates/js/translated/stock.js:972 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:674 +#: templates/js/translated/stock.js:976 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:678 +#: templates/js/translated/stock.js:980 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:984 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:688 +#: templates/js/translated/stock.js:990 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1148 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:1153 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:852 +#: templates/js/translated/stock.js:1156 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:856 +#: templates/js/translated/stock.js:1160 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:858 +#: templates/js/translated/stock.js:1162 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:1166 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:866 +#: templates/js/translated/stock.js:1170 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:1177 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:1179 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:1181 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:881 -#: templates/js/translated/table_filters.js:161 +#: templates/js/translated/stock.js:1185 +#: templates/js/translated/table_filters.js:177 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:935 +#: templates/js/translated/stock.js:1235 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1308 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1346 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 +#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1455 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1482 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1484 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1358 +#: templates/js/translated/stock.js:1658 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1672 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1673 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1897 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1559 +#: templates/js/translated/stock.js:1919 +msgid "Details" +msgstr "详情" + +#: templates/js/translated/stock.js:1944 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1578 +#: templates/js/translated/stock.js:1963 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1982 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1615 +#: templates/js/translated/stock.js:2000 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1638 +#: templates/js/translated/stock.js:2023 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1646 +#: templates/js/translated/stock.js:2031 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:2072 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:2073 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:2124 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1835 -msgid "Serial" -msgstr "" - -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2175 msgid "Uninstall Stock Item" msgstr "" @@ -8023,254 +8230,264 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:172 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:93 +#: templates/js/translated/table_filters.js:105 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:103 -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:352 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:114 -#: templates/js/translated/table_filters.js:191 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:198 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:118 -#: templates/js/translated/table_filters.js:199 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:121 -#: templates/js/translated/table_filters.js:202 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:122 -#: templates/js/translated/table_filters.js:203 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:125 -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 -msgid "Serial number" +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:387 +msgid "Subscribed" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:212 -msgid "Batch code" +#: templates/js/translated/table_filters.js:207 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:133 +#: templates/js/translated/table_filters.js:214 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:215 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:137 +#: templates/js/translated/table_filters.js:218 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:219 +msgid "Serial number less than or equal to" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:326 -msgid "Active parts" -msgstr "" - #: templates/js/translated/table_filters.js:142 -msgid "Show stock for active parts" +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:211 +msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:147 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:151 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:152 -msgid "Item has been allocated" +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:228 +msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:157 -msgid "Include stock in sublocations" +#: templates/js/translated/table_filters.js:342 +msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:162 -msgid "Show stock items which are depleted" +#: templates/js/translated/table_filters.js:158 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:163 +msgid "Part is an assembly" msgstr "" #: templates/js/translated/table_filters.js:167 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:168 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:173 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:178 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:183 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:187 msgid "In Production" msgstr "正在生产" -#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:188 msgid "Show items which are in production" msgstr "显示正在生产的项目" -#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:192 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:193 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:181 +#: templates/js/translated/table_filters.js:197 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:198 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:187 +#: templates/js/translated/table_filters.js:203 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:207 -#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:224 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/table_filters.js:232 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:233 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:242 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:248 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:279 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:324 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:296 -#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:329 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:353 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:357 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:358 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:363 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:371 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:371 -msgid "Starred" -msgstr "" - -#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:399 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:368 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:371 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "to" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "of" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:374 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:377 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "搜索" + +#: templates/js/translated/tables.js:380 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:383 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:386 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:387 +#: templates/js/translated/tables.js:389 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:390 +#: templates/js/translated/tables.js:392 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:393 +#: templates/js/translated/tables.js:395 msgid "All" msgstr "" -#: templates/navbar.html:19 -msgid "Toggle navigation" -msgstr "" - -#: templates/navbar.html:39 +#: templates/navbar.html:40 msgid "Buy" msgstr "采购" -#: templates/navbar.html:51 +#: templates/navbar.html:52 msgid "Sell" msgstr "销售" -#: templates/navbar.html:83 users/models.py:39 +#: templates/navbar.html:86 users/models.py:39 msgid "Admin" msgstr "管理员" -#: templates/navbar.html:85 +#: templates/navbar.html:88 msgid "Logout" msgstr "" -#: templates/navbar.html:106 +#: templates/navbar.html:90 +msgid "Login" +msgstr "" + +#: templates/navbar.html:111 msgid "About InvenTree" msgstr "" +#: templates/navbar_demo.html:5 +msgid "InvenTree demo mode" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -8283,6 +8500,10 @@ msgstr "" msgid "Log in again" msgstr "" +#: templates/stats.html:9 +msgid "Server" +msgstr "" + #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -8336,54 +8557,50 @@ msgid "Export Stock Information" msgstr "" #: templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "" - -#: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:43 +#: templates/stock_table.html:36 msgid "Print test reports" msgstr "打印测试报表" -#: templates/stock_table.html:50 +#: templates/stock_table.html:43 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:48 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:56 +#: templates/stock_table.html:49 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:57 +#: templates/stock_table.html:50 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:58 +#: templates/stock_table.html:51 msgid "Move stock" msgstr "" -#: templates/stock_table.html:59 +#: templates/stock_table.html:52 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change status" msgstr "" -#: templates/stock_table.html:60 +#: templates/stock_table.html:53 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:63 +#: templates/stock_table.html:56 msgid "Delete selected items" msgstr "" @@ -8419,35 +8636,199 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:182 +#: users/models.py:187 msgid "Permission set" msgstr "权限设置" -#: users/models.py:190 +#: users/models.py:195 msgid "Group" msgstr "群组" -#: users/models.py:193 +#: users/models.py:198 msgid "View" msgstr "视图" -#: users/models.py:193 +#: users/models.py:198 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:195 +#: users/models.py:200 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:197 +#: users/models.py:202 msgid "Change" msgstr "更改" -#: users/models.py:197 +#: users/models.py:202 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:199 +#: users/models.py:204 msgid "Permission to delete items" msgstr "删除项目权限" +#~ msgid "Build Order reference" +#~ msgstr "相关生产订单" + +#~ msgid "Order target date" +#~ msgstr "订单预计日期" + +#~ msgid "Number of items to build" +#~ msgstr "要生产的项目数量" + +#~ msgid "Confirm unallocation of stock" +#~ msgstr "确认取消分配库存" + +#~ msgid "Build output stock status" +#~ msgstr "生产产出库存状态" + +#~ msgid "Confirm incomplete" +#~ msgstr "确认未完成" + +#~ msgid "Confirm completion with incomplete stock allocation" +#~ msgstr "确认以未完成库存分配方式完成" + +#~ msgid "Confirm build completion" +#~ msgstr "确认生产完成" + +#~ msgid "Admin view" +#~ msgstr "管理界面" + +#~ msgid "Print Build Order" +#~ msgstr "打印生产订单" + +#~ msgid "Progress" +#~ msgstr "生产进度" + +#~ msgid "Stock allocation is incomplete" +#~ msgstr "库存分配尚未完成" + +#~ msgid "Build Order Details" +#~ msgstr "生产订单详情" + +#~ msgid "Build Order Notes" +#~ msgstr "生产订单备注" + +#~ msgid "All incomplete stock allocations will be removed from the build" +#~ msgstr "所有未完成的库存分配都将从生产中删除" + +#~ msgid "Invalid stock status value selected" +#~ msgstr "选定的库存状态值无效" + +#~ msgid "Build output completed" +#~ msgstr "生产产出已完成" + +#~ msgid "Enable buy" +#~ msgstr "启用采购" + +#~ msgid "Enable buy functionality in InvenTree interface" +#~ msgstr "在 InventTree 界面中启用采购功能" + +#~ msgid "Enable sell" +#~ msgstr "启用销售" + +#~ msgid "Enable sell functionality in InvenTree interface" +#~ msgstr "在 InventTree 界面中启用销售功能" + +#~ msgid "Default" +#~ msgstr "默认" + +#~ msgid "Current value" +#~ msgstr "当前数值" + +#~ msgid "Change Setting" +#~ msgstr "更改设置" + +#~ msgid "Supplied value is not allowed" +#~ msgstr "提供的值不被允许" + +#~ msgid "Supplied value must be a boolean" +#~ msgstr "提供的值必须为布尔值" + +#~ msgid "Change User Setting" +#~ msgstr "更改用户设置" + +#~ msgid "Company Details" +#~ msgstr "公司详细信息" + +#~ msgid "Manufacturer Part Details" +#~ msgstr "制造商商品详细信息" + +#~ msgid "Manufacturer Part Stock" +#~ msgstr "制造商商品库存" + +#~ msgid "Manufacturer Part Orders" +#~ msgstr "制造商商品订单" + +#~ msgid "Manufactured Parts" +#~ msgstr "制造商商品" + +#~ msgid "Supplier Part Details" +#~ msgstr "供应商商品详细信息" + +#~ msgid "All parts" +#~ msgstr "所有商品" + +#~ msgid "Category Details" +#~ msgstr "类别详细信息" + +#~ msgid "View list display" +#~ msgstr "列表视图" + +#~ msgid "View grid display" +#~ msgstr "网格视图" + +#~ msgid "Import Parts" +#~ msgstr "导入商品" + +#~ msgid "Star this part" +#~ msgstr "标记此商品" + +#~ msgid "Hide Part Details" +#~ msgstr "隐藏商品详细信息" + +#~ msgid "Location Details" +#~ msgstr "仓储地详细信息" + +#~ msgid "Location Path" +#~ msgstr "仓储地路径" + +#~ msgid "Location Description" +#~ msgstr "仓储地描述信息" + +#~ msgid "Create new location" +#~ msgstr "新建仓储地点" + +#~ msgid "Starred Parts" +#~ msgstr "已加星标商品" + +#~ msgid "Setting" +#~ msgstr "设置" + +#~ msgid "Account" +#~ msgstr "帐户" + +#~ msgid "Home Page" +#~ msgstr "主页" + +#~ msgid "Labels" +#~ msgstr "标签" + +#~ msgid "Reports" +#~ msgstr "报表" + +#~ msgid "Barcodes" +#~ msgstr "条形码" + +#~ msgid "Currencies" +#~ msgstr "币种" + +#~ msgid "Reporting" +#~ msgstr "报表" + +#~ msgid "Categories" +#~ msgstr "类别管理" + +#~ msgid "Part Options" +#~ msgstr "商品选项" diff --git a/InvenTree/order/templates/order/order_wizard/po_upload.html b/InvenTree/order/templates/order/order_wizard/po_upload.html index a904ba49d8..5c680e509c 100644 --- a/InvenTree/order/templates/order/order_wizard/po_upload.html +++ b/InvenTree/order/templates/order/order_wizard/po_upload.html @@ -5,7 +5,8 @@ {% block sidebar %} {% url "po-detail" order.id as url %} -{% include "sidebar_item.html" with url=url text='{% trans "Return to Orders" %}' icon="fa-undo" %} +{% trans "Return to Orders" as text %} +{% include "sidebar_item.html" with url=url text=text icon="fa-undo" %} {% endblock %} {% block page_content %} diff --git a/InvenTree/order/templates/order/po_sidebar.html b/InvenTree/order/templates/order/po_sidebar.html index 4c14d1eaf6..298c945d41 100644 --- a/InvenTree/order/templates/order/po_sidebar.html +++ b/InvenTree/order/templates/order/po_sidebar.html @@ -2,7 +2,11 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='order-items' text='{% trans "Line Items" %}' icon="fa-list-ol" %} -{% include "sidebar_item.html" with label='received-items' text='{% trans "Received Stock" %}' icon="fa-sign-in-alt" %} -{% include "sidebar_item.html" with label='order-attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='order-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} \ No newline at end of file +{% trans "Line Items" as text %} +{% include "sidebar_item.html" with label='order-items' text=text icon="fa-list-ol" %} +{% trans "Received Stock" as text %} +{% include "sidebar_item.html" with label='received-items' text=text icon="fa-sign-in-alt" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='order-attachments' text=text icon="fa-paperclip" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label='order-notes' text=text icon="fa-clipboard" %} \ No newline at end of file diff --git a/InvenTree/order/templates/order/so_sidebar.html b/InvenTree/order/templates/order/so_sidebar.html index b7369d36ea..5f5f040c28 100644 --- a/InvenTree/order/templates/order/so_sidebar.html +++ b/InvenTree/order/templates/order/so_sidebar.html @@ -2,7 +2,11 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='order-items' text='{% trans "Line Items" %}' icon="fa-list-ol" %} -{% include "sidebar_item.html" with label='order-builds' text='{% trans "Build Orders" %}' icon="fa-tools" %} -{% include "sidebar_item.html" with label='order-attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='order-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} +{% trans "Line Items" as text %} +{% include "sidebar_item.html" with label='order-items' text=text icon="fa-list-ol" %} +{% trans "Build Orders" as text %} +{% include "sidebar_item.html" with label='order-builds' text=text icon="fa-tools" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='order-attachments' text=text icon="fa-paperclip" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label='order-notes' text=text icon="fa-clipboard" %} diff --git a/InvenTree/part/templates/part/bom_upload/upload_file.html b/InvenTree/part/templates/part/bom_upload/upload_file.html index 99340f6735..6775176ede 100644 --- a/InvenTree/part/templates/part/bom_upload/upload_file.html +++ b/InvenTree/part/templates/part/bom_upload/upload_file.html @@ -5,7 +5,8 @@ {% block sidebar %} {% url "part-detail" part.id as url %} -{% include "sidebar_link.html" with url=url text='{% trans "Return to BOM" %}' icon="fa-undo" %} +{% trans "Return to BOM" as text %} +{% include "sidebar_link.html" with url=url text=text icon="fa-undo" %} {% endblock %} {% block heading %} diff --git a/InvenTree/part/templates/part/category_sidebar.html b/InvenTree/part/templates/part/category_sidebar.html index cfb9c848fb..3d945d0433 100644 --- a/InvenTree/part/templates/part/category_sidebar.html +++ b/InvenTree/part/templates/part/category_sidebar.html @@ -4,12 +4,16 @@ {% settings_value 'PART_SHOW_IMPORT' as show_import %} -{% include "sidebar_item.html" with label="subcategories" text='{% trans "Subcategories" %}' icon="fa-sitemap" %} -{% include "sidebar_item.html" with label="parts" text='{% trans "Parts" %}' icon="fa-shapes" %} +{% trans "Subcategories" as text %} +{% include "sidebar_item.html" with label="subcategories" text=text icon="fa-sitemap" %} +{% trans "Parts" as text %} +{% include "sidebar_item.html" with label="parts" text=text icon="fa-shapes" %} {% if show_import and user.is_staff and roles.part.add %} {% url "part-import" as url %} -{% include "sidebar_link.html" with url=url text='{% trans "Import Parts" %}' icon="fa-file-upload" %} +{% trans "Import Parts" as text %} +{% include "sidebar_link.html" with url=url text=text icon="fa-file-upload" %} {% endif %} {% if category %} -{% include "sidebar_item.html" with label="parameters" text='{% trans "Parameters" %}' icon="fa-tasks" %} +{% trans "Parameters" as text %} +{% include "sidebar_item.html" with label="parameters" text=text icon="fa-tasks" %} {% endif %} \ No newline at end of file diff --git a/InvenTree/part/templates/part/import_wizard/part_upload.html b/InvenTree/part/templates/part/import_wizard/part_upload.html index 2dab5274dc..666afad1cb 100644 --- a/InvenTree/part/templates/part/import_wizard/part_upload.html +++ b/InvenTree/part/templates/part/import_wizard/part_upload.html @@ -5,7 +5,8 @@ {% block sidebar %} {% url 'part-index' as url %} -{% include "sidebar_link.html" with url=url text='{% trans "Return to Parts" %}' icon="fa-undo" %} +{% trans "Return to Parts" as text %} +{% include "sidebar_link.html" with url=url text=text icon="fa-undo" %} {% endblock %} {% block content %} diff --git a/InvenTree/part/templates/part/part_sidebar.html b/InvenTree/part/templates/part/part_sidebar.html index 86d9c41e8d..c590c51c37 100644 --- a/InvenTree/part/templates/part/part_sidebar.html +++ b/InvenTree/part/templates/part/part_sidebar.html @@ -5,34 +5,49 @@ {% settings_value "PART_INTERNAL_PRICE" as show_internal_price %} {% settings_value 'PART_SHOW_RELATED' as show_related %} -{% include "sidebar_item.html" with label="part-details" text='{% trans "Details" %}' icon="fa-shapes" %} -{% include "sidebar_item.html" with label="part-parameters" text='{% trans "Parameters" %}' icon="fa-th-list" %} +{% trans "Details" as text %} +{% include "sidebar_item.html" with label="part-details" text=text icon="fa-shapes" %} +{% trans "Parameters" as text %} +{% include "sidebar_item.html" with label="part-parameters" text=text icon="fa-th-list" %} {% if part.is_template %} -{% include "sidebar_item.html" with label="variants" text='{% trans "Variants" %}' icon="fa-shapes" %} +{% trans "Variants" as text %} +{% include "sidebar_item.html" with label="variants" text=text icon="fa-shapes" %} {% endif %} -{% include "sidebar_item.html" with label="part-stock" text='{% trans "Stock" %}' icon="fa-boxes" %} +{% trans "Stock" as text %} +{% include "sidebar_item.html" with label="part-stock" text=text icon="fa-boxes" %} {% if part.assembly %} -{% include "sidebar_item.html" with label="bom" text='{% trans "Bill of Materials" %}' icon="fa-list" %} +{% trans "Bill of Materials" as text %} +{% include "sidebar_item.html" with label="bom" text=text icon="fa-list" %} {% if roles.build.view %} -{% include "sidebar_item.html" with label="build-orders" text='{% trans "Build Orders" %}' icon="fa-tools" %} +{% trans "Build Orders" as text %} +{% include "sidebar_item.html" with label="build-orders" text=text icon="fa-tools" %} {% endif %} {% endif %} {% if part.component %} -{% include "sidebar_item.html" with label="used-in" text='{% trans "Used In" %}' icon="fa-layer-group" %} +{% trans "Used In" as text %} +{% include "sidebar_item.html" with label="used-in" text=text icon="fa-layer-group" %} {% endif %} -{% include "sidebar_item.html" with label="pricing" text='{% trans "Pricing" %}' icon="fa-dollar-sign" %} +{% trans "Pricing" as text %} +{% include "sidebar_item.html" with label="pricing" text=text icon="fa-dollar-sign" %} {% if part.purchaseable and roles.purchase_order.view %} -{% include "sidebar_item.html" with label="suppliers" text='{% trans "Suppliers" %}' icon="fa-building" %} -{% include "sidebar_item.html" with label="purchase-orders" text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} +{% trans "Suppliers" as text %} +{% include "sidebar_item.html" with label="suppliers" text=text icon="fa-building" %} +{% trans "Purchase Orders" as text %} +{% include "sidebar_item.html" with label="purchase-orders" text=text icon="fa-shopping-cart" %} {% endif %} {% if part.salable and roles.sales_order.view %} -{% include "sidebar_item.html" with label="sales-orders" text='{% trans "Sales Orders" %}' icon="fa-truck" %} +{% trans "Sales Orders" as text %} +{% include "sidebar_item.html" with label="sales-orders" text=text icon="fa-truck" %} {% endif %} {% if part.trackable %} -{% include "sidebar_item.html" with label="test-templates" text='{% trans "Test Templates" %}' icon="fa-vial" %} +{% trans "Test Templates" as text %} +{% include "sidebar_item.html" with label="test-templates" text=text icon="fa-vial" %} {% endif %} {% if show_related %} -{% include "sidebar_item.html" with label="related-parts" text='{% trans "Related Parts" %}' icon="fa-random" %} +{% trans "Related Parts" as text %} +{% include "sidebar_item.html" with label="related-parts" text=text icon="fa-random" %} {% endif %} -{% include "sidebar_item.html" with label="part-attachments" text='{% trans "Attachments" %}' icon="fa-paperclip" %} -{% include "sidebar_item.html" with label="part-notes" text='{% trans "Notes" %}' icon="fa-clipboard" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label="part-attachments" text=text icon="fa-paperclip" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label="part-notes" text=text icon="fa-clipboard" %} diff --git a/InvenTree/stock/templates/stock/location_sidebar.html b/InvenTree/stock/templates/stock/location_sidebar.html index bcb0e9210d..8a80f8224c 100644 --- a/InvenTree/stock/templates/stock/location_sidebar.html +++ b/InvenTree/stock/templates/stock/location_sidebar.html @@ -2,5 +2,7 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='sublocations' text='{% trans "Sublocations" %}' icon="fa-sitemap" %} -{% include "sidebar_item.html" with label='stock' text='{% trans "Stock Items" %}' icon="fa-boxes" %} +{% trans "Sublocations" as text %} +{% include "sidebar_item.html" with label='sublocations' text=text icon="fa-sitemap" %} +{% trans "Stock Items" as text %} +{% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %} diff --git a/InvenTree/stock/templates/stock/stock_sidebar.html b/InvenTree/stock/templates/stock/stock_sidebar.html index 66184961ed..8161251ad7 100644 --- a/InvenTree/stock/templates/stock/stock_sidebar.html +++ b/InvenTree/stock/templates/stock/stock_sidebar.html @@ -2,15 +2,21 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_item.html" with label='history' text='{% trans "Stock Tracking" %}' icon="fa-history" %} +{% trans "Stock Tracking" as text %} +{% include "sidebar_item.html" with label='history' text=text icon="fa-history" %} {% if item.part.trackable %} -{% include "sidebar_item.html" with label='test-data' text='{% trans "Test Data" %}' icon="fa-vial" %} +{% trans "Test Data" as text %} +{% include "sidebar_item.html" with label='test-data' text=text icon="fa-vial" %} {% endif %} {% if item.part.assembly %} -{% include "sidebar_item.html" with label='installed-items' text='{% trans "Installed Items" %}' icon="fa-sign-in-alt" %} +{% trans "Installed Items" as text %} +{% include "sidebar_item.html" with label='installed-items' text=text icon="fa-sign-in-alt" %} {% endif %} {% if item.child_count > 0 %} -{% include "sidebar_item.html" with label='children' text='{% trans "Child Items" %}' icon="fa-sitemap" %} +{% trans "Child Items" as text %} +{% include "sidebar_item.html" with label='children' text=text icon="fa-sitemap" %} {% endif %} -{% include "sidebar_item.html" with label='attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %} -{% include "sidebar_item.html" with label='notes' text='{% trans "Notes" %}' icon="fa-clipboard" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='attachments' text=text icon="fa-paperclip" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label='notes' text=text icon="fa-clipboard" %} diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html index 1a2a38f7fb..93b4ee1fb2 100644 --- a/InvenTree/templates/InvenTree/settings/sidebar.html +++ b/InvenTree/templates/InvenTree/settings/sidebar.html @@ -2,29 +2,48 @@ {% load static %} {% load inventree_extras %} -{% include "sidebar_header.html" with text='{% trans "User Settings" %} icon='fa-user' %} +{% trans "User Settings" as text %} +{% include "sidebar_header.html" with text=text icon='fa-user' %} -{% include "sidebar_item.html" with label='account' text='{% trans "Account Settings" %}' icon="fa-cog" %} -{% include "sidebar_item.html" with label='user-display' text='{% trans "Display Settings" %}' icon="fa-desktop" %} -{% include "sidebar_item.html" with label='user-home' text='{% trans "Home Page" %}' icon="fa-home" %} -{% include "sidebar_item.html" with label='user-search' text='{% trans "Search Settings" %}' icon="fa-search" %} -{% include "sidebar_item.html" with label='user-labels' text='{% trans "Label Printing" %}' icon="fa-tag" %} -{% include "sidebar_item.html" with label='user-reports' text='{% trans "Reporting" %}' icon="fa-file-pdf" %} +{% trans "Account Settings" as text %} +{% include "sidebar_item.html" with label='account' text=text icon="fa-cog" %} +{% trans "Display Settings" as text %} +{% include "sidebar_item.html" with label='user-display' text=text icon="fa-desktop" %} +{% trans "Home Page" as text %} +{% include "sidebar_item.html" with label='user-home' text=text icon="fa-home" %} +{% trans "Search Settings" as text %} +{% include "sidebar_item.html" with label='user-search' text=text icon="fa-search" %} +{% trans "Label Printing" as text %} +{% include "sidebar_item.html" with label='user-labels' text=text icon="fa-tag" %} +{% trans "Reporting" as text %} +{% include "sidebar_item.html" with label='user-reports' text=text icon="fa-file-pdf" %} {% if user.is_staff %} -{% include "sidebar_header.html" with text='{% trans "Global Settings" %} icon='fa-cogs' %} +{% trans "Global Settings" as text %} +{% include "sidebar_header.html" with text=text icon='fa-cogs' %} -{% include "sidebar_item.html" with label='server' text='{% trans "Server Configuration" %}' icon="fa-server" %} -{% include "sidebar_item.html" with label='login' text='{% trans "Login Settings" %}' icon="fa-fingerprint" %} -{% include "sidebar_item.html" with label='barcodes' text='{% trans "Barcode Support" %}' icon="fa-qrcode" %} -{% include "sidebar_item.html" with label='currencies' text='{% trans "Currencies" %}' icon="fa-dollar-sign" %} -{% include "sidebar_item.html" with label='reporting' text='{% trans "Reporting" %}' icon="fa-file-pdf" %} -{% include "sidebar_item.html" with label='parts' text='{% trans "Parts" %}' icon="fa-shapes" %} -{% include "sidebar_item.html" with label='category' text='{% trans "Categories" %}' icon="fa-sitemap" %} -{% include "sidebar_item.html" with label='stock' text='{% trans "Stock" %}' icon="fa-boxes" %} -{% include "sidebar_item.html" with label='build-order' text='{% trans "Build Orders" %}' icon="fa-tools" %} -{% include "sidebar_item.html" with label='purchase-order' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %} -{% include "sidebar_item.html" with label='sales-order' text='{% trans "Sales Orders" %}' icon="fa-truck" %} +{% trans "Server Configuration" as text %} +{% include "sidebar_item.html" with label='server' text=text icon="fa-server" %} +{% trans "Login Settings" as text %} +{% include "sidebar_item.html" with label='login' text=text icon="fa-fingerprint" %} +{% trans "Barcode Support" as text %} +{% include "sidebar_item.html" with label='barcodes' text=text icon="fa-qrcode" %} +{% trans "Currencies" as text %} +{% include "sidebar_item.html" with label='currencies' text=text icon="fa-dollar-sign" %} +{% trans "Reporting" as text %} +{% include "sidebar_item.html" with label='reporting' text=text icon="fa-file-pdf" %} +{% trans "Parts" as text %} +{% include "sidebar_item.html" with label='parts' text=text icon="fa-shapes" %} +{% trans "Categories" as text %} +{% include "sidebar_item.html" with label='category' text=text icon="fa-sitemap" %} +{% trans "Stock" as text %} +{% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %} +{% trans "Build Orders" as text %} +{% include "sidebar_item.html" with label='build-order' text=text icon="fa-tools" %} +{% trans "Purchase Orders" as text %} +{% include "sidebar_item.html" with label='purchase-order' text=text icon="fa-shopping-cart" %} +{% trans "Sales Orders" as text %} +{% include "sidebar_item.html" with label='sales-order' text=text icon="fa-truck" %} {% endif %} \ No newline at end of file From d884e62be1b6e1624ca56a7e8d489fe766ea2e28 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:28:23 +0100 Subject: [PATCH 10/16] [FR] Confirm to W293 Fixes #2335 --- InvenTree/InvenTree/api_tester.py | 2 +- InvenTree/InvenTree/fields.py | 2 +- InvenTree/InvenTree/filters.py | 4 ++-- .../management/commands/rebuild_thumbnails.py | 2 +- InvenTree/InvenTree/metadata.py | 8 ++++---- InvenTree/InvenTree/serializers.py | 2 +- InvenTree/InvenTree/tasks.py | 2 +- InvenTree/InvenTree/test_api.py | 4 ++-- InvenTree/InvenTree/urls.py | 2 +- InvenTree/InvenTree/version.py | 4 ++-- InvenTree/build/api.py | 6 +++--- InvenTree/build/models.py | 10 +++++----- InvenTree/build/serializers.py | 10 +++++----- InvenTree/common/api.py | 4 ++-- InvenTree/common/apps.py | 4 ++-- InvenTree/common/models.py | 2 +- InvenTree/company/api.py | 2 +- InvenTree/company/models.py | 2 +- InvenTree/company/serializers.py | 2 +- InvenTree/company/test_api.py | 2 +- InvenTree/company/urls.py | 2 +- InvenTree/label/api.py | 2 +- InvenTree/label/models.py | 2 +- InvenTree/order/api.py | 4 ++-- InvenTree/order/models.py | 2 +- InvenTree/order/serializers.py | 4 ++-- InvenTree/order/test_api.py | 2 +- InvenTree/order/views.py | 6 +++--- InvenTree/part/api.py | 16 ++++++++-------- InvenTree/part/bom.py | 6 +++--- InvenTree/part/models.py | 4 ++-- InvenTree/part/serializers.py | 6 +++--- InvenTree/part/tasks.py | 2 +- InvenTree/part/templatetags/inventree_extras.py | 4 ++-- InvenTree/part/test_api.py | 8 ++++---- InvenTree/part/test_bom_item.py | 4 ++-- InvenTree/part/test_part.py | 6 +++--- InvenTree/part/urls.py | 2 +- InvenTree/part/views.py | 8 ++++---- InvenTree/report/models.py | 2 +- InvenTree/report/tests.py | 6 +++--- InvenTree/stock/api.py | 8 ++++---- InvenTree/stock/forms.py | 4 ++-- InvenTree/stock/models.py | 2 +- InvenTree/stock/serializers.py | 8 ++++---- InvenTree/stock/test_api.py | 2 +- InvenTree/stock/urls.py | 2 +- InvenTree/stock/views.py | 4 ++-- ci/check_js_templates.py | 2 +- 49 files changed, 103 insertions(+), 103 deletions(-) diff --git a/InvenTree/InvenTree/api_tester.py b/InvenTree/InvenTree/api_tester.py index 7af7c82914..3d8481f84e 100644 --- a/InvenTree/InvenTree/api_tester.py +++ b/InvenTree/InvenTree/api_tester.py @@ -46,7 +46,7 @@ class InvenTreeAPITestCase(APITestCase): self.user.is_staff = True self.user.save() - + for role in self.roles: self.assignRole(role) diff --git a/InvenTree/InvenTree/fields.py b/InvenTree/InvenTree/fields.py index 26fddfa912..fa91831679 100644 --- a/InvenTree/InvenTree/fields.py +++ b/InvenTree/InvenTree/fields.py @@ -53,7 +53,7 @@ class InvenTreeModelMoneyField(ModelMoneyField): """ Custom MoneyField for clean migrations while using dynamic currency settings """ - + def __init__(self, **kwargs): # detect if creating migration if 'migrate' in sys.argv or 'makemigrations' in sys.argv: diff --git a/InvenTree/InvenTree/filters.py b/InvenTree/InvenTree/filters.py index 94e6e1765b..8272673fc3 100644 --- a/InvenTree/InvenTree/filters.py +++ b/InvenTree/InvenTree/filters.py @@ -38,7 +38,7 @@ class InvenTreeOrderingFilter(OrderingFilter): ordering = [] for field in ordering_initial: - + reverse = field.startswith('-') if reverse: @@ -52,7 +52,7 @@ class InvenTreeOrderingFilter(OrderingFilter): """ Potentially, a single field could be "aliased" to multiple field, - + (For example to enforce a particular ordering sequence) e.g. to filter first by the integer value... diff --git a/InvenTree/InvenTree/management/commands/rebuild_thumbnails.py b/InvenTree/InvenTree/management/commands/rebuild_thumbnails.py index bf36a612d1..1169112ce7 100644 --- a/InvenTree/InvenTree/management/commands/rebuild_thumbnails.py +++ b/InvenTree/InvenTree/management/commands/rebuild_thumbnails.py @@ -36,7 +36,7 @@ class Command(BaseCommand): img = model.image url = img.thumbnail.name loc = os.path.join(settings.MEDIA_ROOT, url) - + if not os.path.exists(loc): logger.info(f"Generating thumbnail image for '{img}'") diff --git a/InvenTree/InvenTree/metadata.py b/InvenTree/InvenTree/metadata.py index 46b3acfc21..e0f8a23322 100644 --- a/InvenTree/InvenTree/metadata.py +++ b/InvenTree/InvenTree/metadata.py @@ -31,7 +31,7 @@ class InvenTreeMetadata(SimpleMetadata): """ def determine_metadata(self, request, view): - + self.request = request self.view = view @@ -98,7 +98,7 @@ class InvenTreeMetadata(SimpleMetadata): Override get_serializer_info so that we can add 'default' values to any fields whose Meta.model specifies a default value """ - + serializer_info = super().get_serializer_info(serializer) model_class = None @@ -174,7 +174,7 @@ class InvenTreeMetadata(SimpleMetadata): # Extract extra information if an instance is available if hasattr(serializer, 'instance'): instance = serializer.instance - + if instance is None and model_class is not None: # Attempt to find the instance based on kwargs lookup kwargs = getattr(self.view, 'kwargs', None) @@ -240,7 +240,7 @@ class InvenTreeMetadata(SimpleMetadata): # Introspect writable related fields if field_info['type'] == 'field' and not field_info['read_only']: - + # If the field is a PrimaryKeyRelatedField, we can extract the model from the queryset if isinstance(field, serializers.PrimaryKeyRelatedField): model = field.queryset.model diff --git a/InvenTree/InvenTree/serializers.py b/InvenTree/InvenTree/serializers.py index ab5a27594f..90cc857cdd 100644 --- a/InvenTree/InvenTree/serializers.py +++ b/InvenTree/InvenTree/serializers.py @@ -66,7 +66,7 @@ class InvenTreeMoneySerializer(MoneyField): if currency and amount is not None and not isinstance(amount, MONEY_CLASSES) and amount is not empty: return Money(amount, currency) - + return amount diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 801c75aa26..adb9c0a370 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -106,7 +106,7 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): except NameError: logger.warning(f"WARNING: '{taskname}' not started - No function named '{func}'") return - + # Workers are not running: run it as synchronous task _func(*args, **kwargs) diff --git a/InvenTree/InvenTree/test_api.py b/InvenTree/InvenTree/test_api.py index 6ace21b576..0e813d48de 100644 --- a/InvenTree/InvenTree/test_api.py +++ b/InvenTree/InvenTree/test_api.py @@ -19,7 +19,7 @@ from base64 import b64encode class HTMLAPITests(TestCase): """ Test that we can access the REST API endpoints via the HTML interface. - + History: Discovered on 2021-06-28 a bug in InvenTreeModelSerializer, which raised an AssertionError when using the HTML API interface, while the regular JSON interface continued to work as expected. @@ -280,7 +280,7 @@ class APITests(InvenTreeAPITestCase): """ Tests for detail API endpoint actions """ - + self.basicAuth() url = reverse('api-part-detail', kwargs={'pk': 1}) diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 648600265c..584403fc84 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -77,7 +77,7 @@ apipatterns = [ settings_urls = [ url(r'^i18n/?', include('django.conf.urls.i18n')), - + url(r'^appearance/?', AppearanceSelectView.as_view(), name='settings-appearance'), url(r'^currencies-refresh/', CurrencyRefreshView.as_view(), name='settings-currencies-refresh'), diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index ac6e268f78..e0e64f5525 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -120,10 +120,10 @@ def isInvenTreeDevelopmentVersion(): def inventreeDocsVersion(): """ Return the version string matching the latest documentation. - + Development -> "latest" Release -> "major.minor.sub" e.g. "0.5.2" - + """ if isInvenTreeDevelopmentVersion(): diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 819ffed1b6..2ca9dd31dc 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -198,7 +198,7 @@ class BuildUnallocate(generics.CreateAPIView): queryset = Build.objects.none() serializer_class = BuildUnallocationSerializer - + def get_serializer_context(self): ctx = super().get_serializer_context() @@ -231,7 +231,7 @@ class BuildComplete(generics.CreateAPIView): ctx['build'] = Build.objects.get(pk=self.kwargs.get('pk', None)) except: pass - + return ctx @@ -296,7 +296,7 @@ class BuildItemList(generics.ListCreateAPIView): kwargs['location_detail'] = str2bool(params.get('location_detail', False)) except AttributeError: pass - + return self.serializer_class(*args, **kwargs) def get_queryset(self): diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 4fe22f7e0e..d6dd0df0e3 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -66,7 +66,7 @@ def get_next_build_number(): attempts.add(reference) else: break - + return reference @@ -94,13 +94,13 @@ class Build(MPTTModel, ReferenceIndexingMixin): """ OVERDUE_FILTER = Q(status__in=BuildStatus.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__lte=datetime.now().date()) - + @staticmethod def get_api_url(): return reverse('api-build-list') def api_instance_filters(self): - + return { 'parent': { 'exclude_tree': self.pk, @@ -1178,7 +1178,7 @@ class BuildItem(models.Model): bom_item = PartModels.BomItem.objects.get(part=self.build.part, sub_part=ancestor) except PartModels.BomItem.DoesNotExist: continue - + # A matching BOM item has been found! if idx == 0 or bom_item.allow_variants: bom_item_valid = True @@ -1234,7 +1234,7 @@ class BuildItem(models.Model): thumb_url = self.stock_item.part.image.thumbnail.url except: pass - + if thumb_url is None and self.bom_item and self.bom_item.sub_part: try: thumb_url = self.bom_item.sub_part.image.thumbnail.url diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index e8c22e416e..4d3680ea98 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -309,7 +309,7 @@ class BuildAllocationItemSerializer(serializers.Serializer): ) def validate_bom_item(self, bom_item): - + # TODO: Fix this validation - allow for variants and substitutes! build = self.context['build'] @@ -332,7 +332,7 @@ class BuildAllocationItemSerializer(serializers.Serializer): if not stock_item.in_stock: raise ValidationError(_("Item must be in stock")) - + return stock_item quantity = serializers.DecimalField( @@ -398,7 +398,7 @@ class BuildAllocationItemSerializer(serializers.Serializer): # Output *cannot* be set for un-tracked parts if output is not None and not bom_item.sub_part.trackable: - + raise ValidationError({ 'output': _('Build output cannot be specified for allocation of untracked parts') }) @@ -422,14 +422,14 @@ class BuildAllocationSerializer(serializers.Serializer): """ Validation """ - + super().validate(data) items = data.get('items', []) if len(items) == 0: raise ValidationError(_('Allocation items must be provided')) - + return data def save(self): diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 6dd51bdff1..4ec6bf9441 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -73,7 +73,7 @@ class GlobalSettingsDetail(generics.RetrieveUpdateAPIView): permission_classes = [ GlobalSettingsPermissions, ] - + class UserSettingsList(SettingsList): """ @@ -124,7 +124,7 @@ class UserSettingsDetail(generics.RetrieveUpdateAPIView): queryset = common.models.InvenTreeUserSetting.objects.all() serializer_class = common.serializers.UserSettingsSerializer - + permission_classes = [ UserSettingsPermissions, ] diff --git a/InvenTree/common/apps.py b/InvenTree/common/apps.py index 5f88b3c634..58d05c0391 100644 --- a/InvenTree/common/apps.py +++ b/InvenTree/common/apps.py @@ -12,7 +12,7 @@ class CommonConfig(AppConfig): name = 'common' def ready(self): - + self.clear_restart_flag() def clear_restart_flag(self): @@ -22,7 +22,7 @@ class CommonConfig(AppConfig): try: import common.models - + if common.models.InvenTreeSetting.get_setting('SERVER_RESTART_REQUIRED'): logger.info("Clearing SERVER_RESTART_REQUIRED flag") common.models.InvenTreeSetting.set_setting('SERVER_RESTART_REQUIRED', False, None) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 8ceb16e748..4028d352a0 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -487,7 +487,7 @@ class BaseInvenTreeSetting(models.Model): elif self.is_int(): return 'integer' - + else: return 'string' diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 6c51d97d66..83d24e0858 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -170,7 +170,7 @@ class ManufacturerPartParameterList(generics.ListCreateAPIView): queryset = ManufacturerPartParameter.objects.all() serializer_class = ManufacturerPartParameterSerializer - + def get_serializer(self, *args, **kwargs): # Do we wish to include any extra detail? diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index ebe61a74b0..ef3c8aad2e 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -477,7 +477,7 @@ class SupplierPart(models.Model): return reverse('supplier-part-detail', kwargs={'pk': self.id}) def api_instance_filters(self): - + return { 'manufacturer_part': { 'part': self.part.pk diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index a6303cc561..6efebce6a0 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -187,7 +187,7 @@ class SupplierPartSerializer(InvenTreeModelSerializer): part_detail = kwargs.pop('part_detail', True) supplier_detail = kwargs.pop('supplier_detail', True) manufacturer_detail = kwargs.pop('manufacturer_detail', True) - + prettify = kwargs.pop('pretty', False) super(SupplierPartSerializer, self).__init__(*args, **kwargs) diff --git a/InvenTree/company/test_api.py b/InvenTree/company/test_api.py index a915ad1bf5..a1272103df 100644 --- a/InvenTree/company/test_api.py +++ b/InvenTree/company/test_api.py @@ -202,7 +202,7 @@ class ManufacturerTest(InvenTreeAPITestCase): data = { 'MPN': 'MPN-TEST-123', } - + response = self.client.patch(url, data, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) diff --git a/InvenTree/company/urls.py b/InvenTree/company/urls.py index 609311bcba..377a37706d 100644 --- a/InvenTree/company/urls.py +++ b/InvenTree/company/urls.py @@ -29,7 +29,7 @@ company_urls = [ ] manufacturer_part_urls = [ - + url(r'^(?P\d+)/', views.ManufacturerPartDetail.as_view(template_name='company/manufacturer_part.html'), name='manufacturer-part-detail'), ] diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index 2ee8445d2e..475d4f8fea 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -399,7 +399,7 @@ class PartLabelMixin: if key in params: parts = params.getlist(key, []) break - + valid_ids = [] for part in parts: diff --git a/InvenTree/label/models.py b/InvenTree/label/models.py index dea740f2b1..cf30af2ae0 100644 --- a/InvenTree/label/models.py +++ b/InvenTree/label/models.py @@ -186,7 +186,7 @@ class LabelTemplate(models.Model): """ template_string = Template(self.filename_pattern) - + ctx = self.context(request) context = Context(ctx) diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index f4ebff4dfb..dc5f5b87f4 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -49,7 +49,7 @@ class POList(generics.ListCreateAPIView): """ serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) - + item = serializer.save() item.created_by = request.user item.save() @@ -404,7 +404,7 @@ class SOList(generics.ListCreateAPIView): """ serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) - + item = serializer.save() item.created_by = request.user item.save() diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 42106a7376..b8fdd3870c 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -772,7 +772,7 @@ class PurchaseOrderLineItem(OrderLineItem): def get_base_part(self): """ Return the base part.Part object for the line item - + Note: Returns None if the SupplierPart is not set! """ if self.part is None: diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 081a92bc70..9c65c2b038 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -553,10 +553,10 @@ class SOLineItemSerializer(InvenTreeModelSerializer): allocations = SalesOrderAllocationSerializer(many=True, read_only=True, location_detail=True) quantity = InvenTreeDecimalField() - + allocated = serializers.FloatField(source='allocated_quantity', read_only=True) fulfilled = serializers.FloatField(source='fulfilled_quantity', read_only=True) - + sale_price = InvenTreeMoneySerializer( allow_null=True ) diff --git a/InvenTree/order/test_api.py b/InvenTree/order/test_api.py index b4eb956f9d..94e9696e0a 100644 --- a/InvenTree/order/test_api.py +++ b/InvenTree/order/test_api.py @@ -228,7 +228,7 @@ class PurchaseOrderReceiveTest(OrderTest): def setUp(self): super().setUp() - + self.assignRole('purchase_order.add') self.url = reverse('api-po-receive', kwargs={'pk': 1}) diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index 08741faa2e..8aea60f694 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -406,7 +406,7 @@ class PurchaseOrderUpload(FileManagementFormView): def done(self, form_list, **kwargs): """ Once all the data is in, process it to add PurchaseOrderLineItem instances to the order """ - + order = self.get_order() items = self.get_clean_items() @@ -432,7 +432,7 @@ class PurchaseOrderUpload(FileManagementFormView): except IntegrityError: # PurchaseOrderLineItem already exists pass - + return HttpResponseRedirect(reverse('po-detail', kwargs={'pk': self.kwargs['pk']})) @@ -449,7 +449,7 @@ class SalesOrderExport(AjaxView): role_required = 'sales_order.view' def get(self, request, *args, **kwargs): - + order = get_object_or_404(SalesOrder, pk=self.kwargs.get('pk', None)) export_format = request.GET.get('format', 'csv') diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index eeb8ec1255..633f46d6e7 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -169,7 +169,7 @@ class CategoryDetail(generics.RetrieveUpdateDestroyAPIView): """ API endpoint for detail view of a single PartCategory object """ - + serializer_class = part_serializers.CategorySerializer queryset = PartCategory.objects.all() @@ -222,7 +222,7 @@ class CategoryParameterList(generics.ListAPIView): if category is not None: try: - + category = PartCategory.objects.get(pk=category) fetch_parent = str2bool(params.get('fetch_parent', True)) @@ -734,7 +734,7 @@ class PartList(generics.ListCreateAPIView): raise ValidationError({ 'initial_stock_quantity': [_('Must be a valid quantity')], }) - + initial_stock_location = request.data.get('initial_stock_location', None) try: @@ -850,7 +850,7 @@ class PartList(generics.ListCreateAPIView): id_values.append(val) except ValueError: pass - + queryset = queryset.exclude(pk__in=id_values) # Exclude part variant tree? @@ -1096,7 +1096,7 @@ class BomFilter(rest_filters.FilterSet): queryset = queryset.filter(pk__in=pks) else: queryset = queryset.exclude(pk__in=pks) - + return queryset # Filters for linked 'part' @@ -1257,7 +1257,7 @@ class BomList(generics.ListCreateAPIView): queryset = self.annotate_pricing(queryset) return queryset - + def include_pricing(self): """ Determine if pricing information should be included in the response @@ -1291,7 +1291,7 @@ class BomList(generics.ListCreateAPIView): # Get default currency from settings default_currency = InvenTreeSetting.get_setting('INVENTREE_DEFAULT_CURRENCY') - + if price: if currency and default_currency: try: @@ -1381,7 +1381,7 @@ class BomItemSubstituteList(generics.ListCreateAPIView): serializer_class = part_serializers.BomItemSubstituteSerializer queryset = BomItemSubstitute.objects.all() - + filter_backends = [ DjangoFilterBackend, filters.SearchFilter, diff --git a/InvenTree/part/bom.py b/InvenTree/part/bom.py index 1fc747655d..71bcf4889b 100644 --- a/InvenTree/part/bom.py +++ b/InvenTree/part/bom.py @@ -172,7 +172,7 @@ def ExportBom(part, fmt='csv', cascade=False, max_levels=None, parameter_data=Fa # Filter manufacturer parts manufacturer_parts = ManufacturerPart.objects.filter(part__pk=b_part.pk).prefetch_related('supplier_parts') - + for mp_idx, mp_part in enumerate(manufacturer_parts): # Extract the "name" field of the Manufacturer (Company) @@ -190,7 +190,7 @@ def ExportBom(part, fmt='csv', cascade=False, max_levels=None, parameter_data=Fa # Generate a column name for this manufacturer k_man = f'{_("Manufacturer")}_{mp_idx}' k_mpn = f'{_("MPN")}_{mp_idx}' - + try: manufacturer_cols[k_man].update({bom_idx: manufacturer_name}) manufacturer_cols[k_mpn].update({bom_idx: manufacturer_mpn}) @@ -200,7 +200,7 @@ def ExportBom(part, fmt='csv', cascade=False, max_levels=None, parameter_data=Fa # We wish to include supplier data for this manufacturer part if supplier_data: - + for sp_idx, sp_part in enumerate(mp_part.supplier_parts.all()): supplier_parts_used.add(sp_part) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 638c956ffa..5c6c07d9d8 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2118,7 +2118,7 @@ class Part(MPTTModel): """ Returns True if the total stock for this part is less than the minimum stock level """ - + return self.get_stock_count() < self.minimum_stock @@ -2155,7 +2155,7 @@ class PartSellPriceBreak(common.models.PriceBreak): """ Represents a price break for selling this part """ - + @staticmethod def get_api_url(): return reverse('api-part-sale-price-list') diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 9deece4863..49460c83a6 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -446,9 +446,9 @@ class BomItemSerializer(InvenTreeModelSerializer): purchase_price_min = MoneyField(max_digits=10, decimal_places=6, read_only=True) purchase_price_max = MoneyField(max_digits=10, decimal_places=6, read_only=True) - + purchase_price_avg = serializers.SerializerMethodField() - + purchase_price_range = serializers.SerializerMethodField() def __init__(self, *args, **kwargs): @@ -520,7 +520,7 @@ class BomItemSerializer(InvenTreeModelSerializer): def get_purchase_price_avg(self, obj): """ Return purchase price average """ - + try: purchase_price_avg = obj.purchase_price_avg except AttributeError: diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index 0cd9cf09a7..a7c24b385b 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -62,7 +62,7 @@ def notify_low_stock(part: part.models.Part): def notify_low_stock_if_required(part: part.models.Part): """ Check if the stock quantity has fallen below the minimum threshold of part. - + If true, notify the users who have subscribed to the part """ diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index e31fb9e398..9dc09535fa 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -236,7 +236,7 @@ def settings_value(key, *args, **kwargs): if 'user' in kwargs: return InvenTreeUserSetting.get_setting(key, user=kwargs['user']) - + return InvenTreeSetting.get_setting(key) @@ -384,7 +384,7 @@ def keyvalue(dict, key): def call_method(obj, method_name, *args): """ enables calling model methods / functions from templates with arguments - + usage: {% call_method model_object 'fnc_name' argument1 %} """ diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index b16de1b9d7..ba38ffa879 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -542,7 +542,7 @@ class PartAPITest(InvenTreeAPITestCase): # Check that there is a new manufacturer part *and* a new supplier part self.assertEqual(new_part.supplier_parts.count(), 1) self.assertEqual(new_part.manufacturer_parts.count(), 1) - + def test_strange_chars(self): """ Test that non-standard ASCII chars are accepted @@ -911,7 +911,7 @@ class BomItemTest(InvenTreeAPITestCase): # How many BOM items currently exist in the database? n = BomItem.objects.count() - + url = reverse('api-bom-list') response = self.get(url, expected_code=200) self.assertEqual(len(response.data), n) @@ -962,7 +962,7 @@ class BomItemTest(InvenTreeAPITestCase): } self.post(url, data, expected_code=201) - + # Now try to create a BomItem which references itself data['part'] = 100 data['sub_part'] = 100 @@ -1003,7 +1003,7 @@ class BomItemTest(InvenTreeAPITestCase): # Now we will create some variant parts and stock for ii in range(5): - + # Create a variant part! variant = Part.objects.create( name=f"Variant_{ii}", diff --git a/InvenTree/part/test_bom_item.py b/InvenTree/part/test_bom_item.py index cd3c77845c..5ce75d3657 100644 --- a/InvenTree/part/test_bom_item.py +++ b/InvenTree/part/test_bom_item.py @@ -153,7 +153,7 @@ class BomItemTest(TestCase): subs = [] for ii in range(5): - + # Create a new part sub_part = Part.objects.create( name=f"Orphan {ii}", @@ -181,7 +181,7 @@ class BomItemTest(TestCase): # There should be now 5 substitute parts available self.assertEqual(bom_item.substitutes.count(), 5) - + # Try to create a substitute which points to the same sub-part (should fail) with self.assertRaises(django_exceptions.ValidationError): BomItemSubstitute.objects.create( diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 755bd45cea..6397b9162f 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -370,7 +370,7 @@ class PartSubscriptionTests(TestCase): # electronics / IC / MCU self.category = PartCategory.objects.get(pk=4) - + self.part = Part.objects.create( category=self.category, name='STM32F103', @@ -382,7 +382,7 @@ class PartSubscriptionTests(TestCase): """ Test basic subscription against a part """ - + # First check that the user is *not* subscribed to the part self.assertFalse(self.part.is_starred_by(self.user)) @@ -450,7 +450,7 @@ class PartSubscriptionTests(TestCase): """ Check that a parent category can be subscribed to """ - + # Top-level "electronics" category cat = PartCategory.objects.get(pk=1) diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index 13fc6f7c16..46f8094fff 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -40,7 +40,7 @@ part_detail_urls = [ url(r'^bom-export/?', views.BomExport.as_view(), name='bom-export'), url(r'^bom-download/?', views.BomDownload.as_view(), name='bom-download'), url(r'^validate-bom/', views.BomValidate.as_view(), name='bom-validate'), - + url(r'^pricing/', views.PartPricing.as_view(), name='part-pricing'), url(r'^bom-upload/?', views.BomUpload.as_view(), name='upload-bom'), diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 65c42f7e36..62433084a6 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -459,7 +459,7 @@ class PartDetail(InvenTreeRoleMixin, DetailView): part = self.get_object() ctx = part.get_context_data(self.request) - + context.update(**ctx) # Pricing information @@ -1056,7 +1056,7 @@ class BomUpload(InvenTreeRoleMixin, FileManagementFormView): matches = sorted(matches, key=lambda item: item['match'], reverse=True) part_options = [m['part'] for m in matches] - + # Supply list of part options for each row, sorted by how closely they match the part name row['item_options'] = part_options @@ -1520,11 +1520,11 @@ class CategoryDetail(InvenTreeRoleMixin, DetailView): # Prefetch parts parameters parts_parameters = category.prefetch_parts_parameters(cascade=cascade) - + # Get table headers (unique parameters names) context['headers'] = category.get_unique_parameters(cascade=cascade, prefetch=parts_parameters) - + # Insert part information context['headers'].insert(0, 'description') context['headers'].insert(0, 'part') diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 21604dbc94..faaa07e947 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -247,7 +247,7 @@ class ReportTemplateBase(ReportBase): """ template_string = Template(self.filename_pattern) - + ctx = self.context(request) context = Context(ctx) diff --git a/InvenTree/report/tests.py b/InvenTree/report/tests.py index 704f98fed0..67a97dc3a2 100644 --- a/InvenTree/report/tests.py +++ b/InvenTree/report/tests.py @@ -106,7 +106,7 @@ class ReportTest(InvenTreeAPITestCase): # Filter by "enabled" status response = self.get(url, {'enabled': True}) self.assertEqual(len(response.data), n) - + response = self.get(url, {'enabled': False}) self.assertEqual(len(response.data), 0) @@ -118,7 +118,7 @@ class ReportTest(InvenTreeAPITestCase): # Filter by "enabled" status response = self.get(url, {'enabled': True}) self.assertEqual(len(response.data), 0) - + response = self.get(url, {'enabled': False}) self.assertEqual(len(response.data), n) @@ -199,7 +199,7 @@ class BuildReportTest(ReportTest): build = Build.objects.first() response = self.get(url, {'build': build.pk}) - + self.assertEqual(type(response), StreamingHttpResponse) headers = response.headers diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 0c045f1cf5..fcfa58d01a 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -91,7 +91,7 @@ class StockDetail(generics.RetrieveUpdateDestroyAPIView): Instead of "deleting" the StockItem (which may take a long time) we instead schedule it for deletion at a later date. - + The background worker will delete these in the future """ @@ -134,7 +134,7 @@ class StockAdjustView(generics.CreateAPIView): queryset = StockItem.objects.none() def get_serializer_context(self): - + context = super().get_serializer_context() context['request'] = self.request @@ -348,7 +348,7 @@ class StockFilter(rest_filters.FilterSet): queryset = queryset.exclude(customer=None) else: queryset = queryset.filter(customer=None) - + return queryset depleted = rest_filters.BooleanFilter(label='Depleted', method='filter_depleted') @@ -437,7 +437,7 @@ class StockList(generics.ListCreateAPIView): }) with transaction.atomic(): - + # Create an initial stock item item = serializer.save() diff --git a/InvenTree/stock/forms.py b/InvenTree/stock/forms.py index 96b6e0ba91..8e998460ca 100644 --- a/InvenTree/stock/forms.py +++ b/InvenTree/stock/forms.py @@ -83,7 +83,7 @@ class ConvertStockItemForm(HelperForm): class CreateStockItemForm(HelperForm): """ Form for creating a new StockItem - + TODO: Migrate this form to the modern API forms interface """ @@ -143,7 +143,7 @@ class CreateStockItemForm(HelperForm): class SerializeStockForm(HelperForm): """ Form for serializing a StockItem. - + TODO: Migrate this form to the modern API forms interface """ diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 70e557a901..8457ca39ab 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -272,7 +272,7 @@ class StockItem(MPTTModel): add_note = kwargs.pop('add_note', True) notes = kwargs.pop('notes', '') - + if self.pk: # StockItem has already been saved diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 31f21605a2..840eb4793e 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -56,7 +56,7 @@ class StockItemSerializerBrief(InvenTree.serializers.InvenTreeModelSerializer): location_name = serializers.CharField(source='location', read_only=True) part_name = serializers.CharField(source='part.full_name', read_only=True) - + quantity = InvenTreeDecimalField() class Meta: @@ -615,7 +615,7 @@ class StockCountSerializer(StockAdjustmentSerializer): stock_item = item['pk'] quantity = item['quantity'] - + stock_item.stocktake( quantity, request.user, @@ -654,7 +654,7 @@ class StockRemoveSerializer(StockAdjustmentSerializer): """ def save(self): - + request = self.context['request'] data = self.validated_data @@ -707,7 +707,7 @@ class StockTransferSerializer(StockAdjustmentSerializer): request = self.context['request'] data = self.validated_data - + items = data['items'] notes = data.get('notes', '') location = data['location'] diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index 422f9f11ab..2c1b250e5f 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -368,7 +368,7 @@ class StockItemTest(StockAPITestCase): ) self.assertIn('Quantity is required', str(response.data)) - + # POST with quantity and part and location response = self.post( self.list_url, diff --git a/InvenTree/stock/urls.py b/InvenTree/stock/urls.py index b28104f388..eb4aa2e65c 100644 --- a/InvenTree/stock/urls.py +++ b/InvenTree/stock/urls.py @@ -11,7 +11,7 @@ location_urls = [ url(r'^(?P\d+)/', include([ url(r'^delete/?', views.StockLocationDelete.as_view(), name='stock-location-delete'), url(r'^qr_code/?', views.StockLocationQRCode.as_view(), name='stock-location-qr'), - + # Anything else url('^.*$', views.StockLocationDetail.as_view(), name='stock-location-detail'), ])), diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 647c123130..6d93ae47e0 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -543,7 +543,7 @@ class StockItemInstall(AjaxUpdateView): - Items must be in BOM of stock item - Items must be serialized """ - + # Filter items in stock items = StockItem.objects.filter(StockItem.IN_STOCK_FILTER) @@ -900,7 +900,7 @@ class StockItemEdit(AjaxUpdateView): item.save(user=self.request.user) return item - + class StockItemConvert(AjaxUpdateView): """ diff --git a/ci/check_js_templates.py b/ci/check_js_templates.py index b9db7fe612..71b9912f3a 100644 --- a/ci/check_js_templates.py +++ b/ci/check_js_templates.py @@ -105,7 +105,7 @@ for filename in pathlib.Path(js_dynamic_dir).rglob('*.js'): data = js_file.readlines() pattern = r'{% trans ' - + err_count = 0 for idx, line in enumerate(data): From 3cd891229c1453b2922245568c2a9dc8e26f7278 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:29:02 +0100 Subject: [PATCH 11/16] check rule W293 in pipeline --- setup.cfg | 2 -- 1 file changed, 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index c30425b9a1..59de074ae0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,7 +1,5 @@ [flake8] ignore = - # - W293 - blank lines contain whitespace - W293, W605, # - E501 - line too long (82 characters) E501, E722, From aa845ce87d39847257b11a2bca4f84d975b2e8bb Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:36:44 +0100 Subject: [PATCH 12/16] add descriptions for all ignored errors --- setup.cfg | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 59de074ae0..816a833274 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,14 +1,18 @@ [flake8] ignore = + # - W605 - invalid escape sequence W605, # - E501 - line too long (82 characters) - E501, E722, + E501, + # - E722 - do not use bare except + E722, # - C901 - function is too complex C901, # - N802 - function name should be lowercase (In the future, we should conform to this!) N802, # - N806 - variable should be lowercase N806, + # - N812 - lowercase imported as non-lowercase N812, exclude = .git,__pycache__,*/migrations/*,*/lib/*,*/bin/*,*/media/*,*/static/*,*ci_*.py* max-complexity = 20 From 68b8dcf19e6ed02329f26041d55ec612aed62ab2 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:37:17 +0100 Subject: [PATCH 13/16] add todo --- setup.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 816a833274..466c0cba44 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,7 +8,8 @@ ignore = E722, # - C901 - function is too complex C901, - # - N802 - function name should be lowercase (In the future, we should conform to this!) + # - N802 - function name should be lowercase + # TODO (In the future, we should conform to this!) N802, # - N806 - variable should be lowercase N806, From 92f0ca07d73546a7cad9373d7c9be3d08f95282f Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:39:12 +0100 Subject: [PATCH 14/16] remove non existant file from checks --- setup.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 466c0cba44..8b5b23c6d4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -22,7 +22,6 @@ max-complexity = 20 source = ./InvenTree omit = InvenTree/manage.py - InvenTree/setup.py InvenTree/InvenTree/middleware.py InvenTree/InvenTree/utils.py InvenTree/InvenTree/wsgi.py From 0733d9940fedab16169096e9c1eb062e2fda73f9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:42:21 +0100 Subject: [PATCH 15/16] fix ci files --- InvenTree/InvenTree/ci_render_js.py | 5 ++--- setup.cfg | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/ci_render_js.py b/InvenTree/InvenTree/ci_render_js.py index 62e3fc4667..fed1dfb221 100644 --- a/InvenTree/InvenTree/ci_render_js.py +++ b/InvenTree/InvenTree/ci_render_js.py @@ -1,9 +1,8 @@ """ -Pull rendered copies of the templated +Pull rendered copies of the templated """ -from django.http import response -from django.test import TestCase, testcases +from django.test import TestCase from django.contrib.auth import get_user_model import os diff --git a/setup.cfg b/setup.cfg index 8b5b23c6d4..a923779199 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,7 +15,7 @@ ignore = N806, # - N812 - lowercase imported as non-lowercase N812, -exclude = .git,__pycache__,*/migrations/*,*/lib/*,*/bin/*,*/media/*,*/static/*,*ci_*.py* +exclude = .git,__pycache__,*/migrations/*,*/lib/*,*/bin/*,*/media/*,*/static/* max-complexity = 20 [coverage:run] From c035cd4fc2d66dc573d49ff6a6bfea994dd8443d Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Nov 2021 00:44:56 +0100 Subject: [PATCH 16/16] remove omitions enforcing styles on the supporting files does not really hurt the dev enviroment - they already confirm --- setup.cfg | 6 ------ 1 file changed, 6 deletions(-) diff --git a/setup.cfg b/setup.cfg index a923779199..b4b0af8836 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,9 +20,3 @@ max-complexity = 20 [coverage:run] source = ./InvenTree -omit = - InvenTree/manage.py - InvenTree/InvenTree/middleware.py - InvenTree/InvenTree/utils.py - InvenTree/InvenTree/wsgi.py - InvenTree/users/apps.py